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