Add install input to set buildx as default builder (#71)
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									925fee3dc9
								
							
						
					
					
						commit
						5290010a6f
					
				
							
								
								
									
										22
									
								
								.github/workflows/setup-buildx-ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								.github/workflows/setup-buildx-ci.yml
									
									
									
									
										vendored
									
									
								
							| @ -39,6 +39,22 @@ jobs: | ||||
|         name: Available platforms | ||||
|         run: echo ${{ steps.buildx.outputs.platforms }} | ||||
| 
 | ||||
|   install: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - | ||||
|         name: Checkout | ||||
|         uses: actions/checkout@v2.3.1 | ||||
|       - | ||||
|         name: Set up Docker Buildx | ||||
|         uses: ./setup-buildx/ | ||||
|         with: | ||||
|           install: true | ||||
|       - | ||||
|         name: Check cmd | ||||
|         run: | | ||||
|           docker build --help | ||||
| 
 | ||||
|   with-qemu: | ||||
|     runs-on: ubuntu-latest | ||||
|     strategy: | ||||
| @ -51,12 +67,6 @@ jobs: | ||||
|           - latest | ||||
|           - 4.2.0-7 | ||||
|     steps: | ||||
|       - | ||||
|         name: Runner info | ||||
|         run: | | ||||
|           sudo apt-get install -y hwinfo | ||||
|           sudo hwinfo --short | ||||
|           sudo mount | ||||
|       - | ||||
|         name: Checkout | ||||
|         uses: actions/checkout@v2.3.1 | ||||
|  | ||||
| @ -91,6 +91,7 @@ Following inputs can be used as `step.with` keys | ||||
| | Name             | Type    | Default   | Description                        | | ||||
| |------------------|---------|-----------|------------------------------------| | ||||
| | `buildx-version` | String  | `latest`  | [Buildx](https://github.com/docker/buildx) version. Example: `v0.3.0` | | ||||
| | `install`        | Bool    | `false`   | Sets up `docker build` command as an alias to `docker buildx` | | ||||
| 
 | ||||
| ### outputs | ||||
| 
 | ||||
|  | ||||
| @ -11,6 +11,10 @@ inputs: | ||||
|     description: 'Buildx version. Example: v0.3.0' | ||||
|     default: 'latest' | ||||
|     required: false | ||||
|   install: | ||||
|     description: 'Sets up docker build command as an alias to docker buildx' | ||||
|     default: 'false' | ||||
|     required: false | ||||
| 
 | ||||
| outputs: | ||||
|   platforms: | ||||
|  | ||||
							
								
								
									
										5
									
								
								setup-buildx/dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								setup-buildx/dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -2492,6 +2492,7 @@ function run() { | ||||
|                 return; | ||||
|             } | ||||
|             const buildxVer = core.getInput('buildx-version') || 'latest'; | ||||
|             const install = /true/i.test(core.getInput('install')); | ||||
|             const dockerConfigHome = process.env.DOCKER_CONFIG || path.join(os.homedir(), '.docker'); | ||||
|             yield installer.buildx(buildxVer, dockerConfigHome); | ||||
|             core.info('📣 Buildx info'); | ||||
| @ -2508,6 +2509,10 @@ function run() { | ||||
|             ]); | ||||
|             core.info('🏃 Booting builder...'); | ||||
|             yield exec.exec('docker', ['buildx', 'inspect', '--bootstrap']); | ||||
|             if (install) { | ||||
|                 core.info('🤝 Setting buildx as default builder...'); | ||||
|                 yield exec.exec('docker', ['buildx', 'install']); | ||||
|             } | ||||
|             core.info('🐳 Docker info'); | ||||
|             yield exec.exec('docker', ['info']); | ||||
|             core.info('🛒 Extracting available platforms...'); | ||||
|  | ||||
| @ -14,6 +14,7 @@ async function run(): Promise<void> { | ||||
|     } | ||||
| 
 | ||||
|     const buildxVer: string = core.getInput('buildx-version') || 'latest'; | ||||
|     const install: boolean = /true/i.test(core.getInput('install')); | ||||
|     const dockerConfigHome: string = process.env.DOCKER_CONFIG || path.join(os.homedir(), '.docker'); | ||||
|     await installer.buildx(buildxVer, dockerConfigHome); | ||||
| 
 | ||||
| @ -34,6 +35,11 @@ async function run(): Promise<void> { | ||||
|     core.info('🏃 Booting builder...'); | ||||
|     await exec.exec('docker', ['buildx', 'inspect', '--bootstrap']); | ||||
| 
 | ||||
|     if (install) { | ||||
|       core.info('🤝 Setting buildx as default builder...'); | ||||
|       await exec.exec('docker', ['buildx', 'install']); | ||||
|     } | ||||
| 
 | ||||
|     core.info('🐳 Docker info'); | ||||
|     await exec.exec('docker', ['info']); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user