diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2ae55e2..8d6fe3a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -212,7 +212,7 @@ jobs: env: DOCKER_CONTEXT: mycontext - config: + buildkitd-config: runs-on: ubuntu-latest steps: - @@ -244,7 +244,7 @@ jobs: with: context: . - config-inline: + buildkitd-config-inline: runs-on: ubuntu-latest steps: - @@ -391,36 +391,6 @@ jobs: with: context: . - standalone-install-error: - runs-on: ubuntu-latest - steps: - - - name: Checkout - uses: actions/checkout@v6 - - - name: Uninstall docker cli - run: | - if dpkg -s "docker-ce" >/dev/null 2>&1; then - sudo dpkg -r --force-depends docker-ce-cli docker-buildx-plugin - else - sudo apt-get purge -y moby-cli moby-buildx - fi - - - name: Set up Docker Buildx - id: buildx - continue-on-error: true - uses: ./ - with: - install: true - - - name: Check - run: | - echo "${{ toJson(steps.buildx) }}" - if [ "${{ steps.buildx.outcome }}" != "failure" ] || [ "${{ steps.buildx.conclusion }}" != "success" ]; then - echo "::error::Should have failed" - exit 1 - fi - append: runs-on: ubuntu-latest steps: diff --git a/README.md b/README.md index d96817b..0daac52 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,6 @@ The following inputs can be used as `step.with` keys: | `buildkitd-flags` | String | | [BuildKit daemon flags](https://docs.docker.com/engine/reference/commandline/buildx_create/#buildkitd-flags) | | `buildkitd-config` \* | String | | [BuildKit daemon config file](https://docs.docker.com/engine/reference/commandline/buildx_create/#config) | | `buildkitd-config-inline` \* | String | | Same as `buildkitd-config` but inline | -| `install` \* | Bool | `false` | Sets up `docker build` command as an alias to `docker buildx` | | `use` | Bool | `true` | Switch to this builder instance | | `endpoint` | String | | [Optional address for docker socket](https://docs.docker.com/engine/reference/commandline/buildx_create/#description) or context from `docker context ls` | | `platforms` | List/CSV | | Fixed [platforms](https://docs.docker.com/engine/reference/commandline/buildx_create/#platform) for current node. If not empty, values take priority over the detected ones | @@ -111,14 +110,6 @@ The following inputs can be used as `step.with` keys: > [!NOTE] > `buildkitd-config` and `buildkitd-config-inline` are mutually exclusive. -> [!NOTE] -> `install` input is deprecated and will be removed in a future release. This -> input is not necessary when building with our actions like -> `docker/build-push-action` or `docker/bake-action`. If you are still building -> with the `docker build` command then you can set the `BUILDX_BUILDER` -> environment variable, or you can just directly invoke the -> `docker buildx build` command: https://github.com/docker/setup-buildx-action/pull/455 - ### outputs The following outputs are available: diff --git a/__tests__/context.test.ts b/__tests__/context.test.ts index c300fa4..00a8c0c 100644 --- a/__tests__/context.test.ts +++ b/__tests__/context.test.ts @@ -52,7 +52,6 @@ describe('getCreateArgs', () => { 0, 'v0.10.3', new Map([ - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], @@ -71,7 +70,6 @@ describe('getCreateArgs', () => { 'v0.10.3', new Map([ ['driver', 'docker'], - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], @@ -89,7 +87,6 @@ describe('getCreateArgs', () => { 2, 'v0.10.3', new Map([ - ['install', 'false'], ['use', 'false'], ['driver-opts', 'image=moby/buildkit:master\nnetwork=host'], ['cache-binary', 'true'], @@ -111,7 +108,6 @@ describe('getCreateArgs', () => { new Map([ ['driver', 'remote'], ['endpoint', 'tls://foo:1234'], - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], @@ -132,7 +128,6 @@ describe('getCreateArgs', () => { ['driver', 'remote'], ['platforms', 'linux/arm64,linux/arm/v7'], ['endpoint', 'tls://foo:1234'], - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], @@ -151,7 +146,6 @@ describe('getCreateArgs', () => { 5, 'v0.10.3', new Map([ - ['install', 'false'], ['use', 'false'], ['driver-opts', `"env.no_proxy=localhost,127.0.0.1,.mydomain"`], ['cache-binary', 'true'], @@ -170,7 +164,6 @@ describe('getCreateArgs', () => { 6, 'v0.10.3', new Map([ - ['install', 'false'], ['use', 'false'], ['platforms', 'linux/amd64\n"linux/arm64,linux/arm/v7"'], ['cache-binary', 'true'], @@ -189,7 +182,6 @@ describe('getCreateArgs', () => { 7, 'v0.10.3', new Map([ - ['install', 'false'], ['use', 'false'], ['driver', 'unknown'], ['cache-binary', 'true'], @@ -206,7 +198,6 @@ describe('getCreateArgs', () => { 8, 'v0.10.3', new Map([ - ['install', 'false'], ['use', 'false'], ['buildkitd-config', path.join(fixturesDir, 'buildkitd.toml')], ['cache-binary', 'true'], @@ -225,7 +216,6 @@ describe('getCreateArgs', () => { 9, 'v0.10.3', new Map([ - ['install', 'false'], ['use', 'false'], ['buildkitd-config-inline', 'debug = true'], ['cache-binary', 'true'], @@ -244,7 +234,6 @@ describe('getCreateArgs', () => { 10, 'v0.10.3', new Map([ - ['install', 'false'], ['use', 'false'], ['driver', 'cloud'], ['buildkitd-flags', '--allow-insecure-entitlement network.host'], @@ -263,7 +252,6 @@ describe('getCreateArgs', () => { 11, 'v0.10.3', new Map([ - ['install', 'false'], ['use', 'true'], ['cleanup', 'true'], ['cache-binary', 'true'], @@ -282,7 +270,6 @@ describe('getCreateArgs', () => { 12, 'v0.10.3', new Map([ - ['install', 'false'], ['use', 'true'], ['cleanup', 'true'], ['cache-binary', 'true'], @@ -330,7 +317,6 @@ describe('getAppendArgs', () => { 0, 'v0.10.3', new Map([ - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], @@ -389,7 +375,6 @@ describe('getVersion', () => { 0, new Map([ // defaults - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], @@ -402,7 +387,6 @@ describe('getVersion', () => { new Map([ ['version', 'latest'], // defaults - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], @@ -415,7 +399,6 @@ describe('getVersion', () => { new Map([ ['version', 'edge'], // defaults - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], @@ -428,7 +411,6 @@ describe('getVersion', () => { new Map([ ['version', 'v0.19.2'], // defaults - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], @@ -442,7 +424,6 @@ describe('getVersion', () => { ['version', 'latest'], ['driver', 'cloud'], // defaults - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], @@ -456,7 +437,6 @@ describe('getVersion', () => { ['version', 'edge'], ['driver', 'cloud'], // defaults - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], @@ -469,7 +449,6 @@ describe('getVersion', () => { new Map([ ['driver', 'cloud'], // defaults - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], @@ -483,7 +462,6 @@ describe('getVersion', () => { ['version', 'cloud:v0.11.2-desktop.2'], ['driver', 'cloud'], // defaults - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], @@ -496,7 +474,6 @@ describe('getVersion', () => { new Map([ ['version', 'cloud:v0.11.2-desktop.2'], // defaults - ['install', 'false'], ['use', 'true'], ['cache-binary', 'true'], ['cleanup', 'true'], diff --git a/action.yml b/action.yml index b1b3ec2..465dabd 100644 --- a/action.yml +++ b/action.yml @@ -54,20 +54,6 @@ inputs: description: 'Cleanup temp files and remove builder at the end of a job' default: 'true' required: false - # TODO: remove deprecated config, config-inline and install inputs - config: - description: 'BuildKit daemon config file' - deprecationMessage: 'Use buildkitd-config instead' - required: false - config-inline: - description: 'Inline BuildKit daemon config' - deprecationMessage: 'Use buildkitd-config-inline instead' - required: false - install: - description: 'Sets up docker build command as an alias to docker buildx build' - deprecationMessage: '"docker buildx install" command is deprecated and will be removed in a future release, use BUILDX_BUILDER environment variable instead' - default: 'false' - required: false outputs: name: diff --git a/src/context.ts b/src/context.ts index 5a318d8..a40c108 100644 --- a/src/context.ts +++ b/src/context.ts @@ -19,7 +19,6 @@ export interface Inputs { buildkitdConfig: string; buildkitdConfigInline: string; platforms: string[]; - install: boolean; use: boolean; endpoint: string; append: string; @@ -36,11 +35,10 @@ export async function getInputs(): Promise { driverOpts: Util.getInputList('driver-opts', {ignoreComma: true, quote: false}), buildkitdFlags: core.getInput('buildkitd-flags'), platforms: Util.getInputList('platforms'), - install: core.getBooleanInput('install'), use: core.getBooleanInput('use'), endpoint: core.getInput('endpoint'), - buildkitdConfig: core.getInput('buildkitd-config') || core.getInput('config'), - buildkitdConfigInline: core.getInput('buildkitd-config-inline') || core.getInput('config-inline'), + buildkitdConfig: core.getInput('buildkitd-config'), + buildkitdConfigInline: core.getInput('buildkitd-config-inline'), append: core.getInput('append'), keepState: core.getBooleanInput('keep-state'), cacheBinary: core.getBooleanInput('cache-binary'), diff --git a/src/main.ts b/src/main.ts index cb69816..3a11e5c 100644 --- a/src/main.ts +++ b/src/main.ts @@ -184,23 +184,6 @@ actionsToolkit.run( }); }); - if (inputs.install) { - if (standalone) { - throw new Error(`Cannot set buildx as default builder without the Docker CLI`); - } - await core.group(`Setting buildx as default builder`, async () => { - stateHelper.setBuildxIsDefaultBuilder(true); - const installCmd = await toolkit.buildx.getCommand(['install']); - await Exec.getExecOutput(installCmd.command, installCmd.args, { - ignoreReturnCode: true - }).then(res => { - if (res.stderr.length > 0 && res.exitCode != 0) { - throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'); - } - }); - }); - } - const builderInspect = await toolkit.builder.inspect(inputs.name); const firstNode = builderInspect.nodes[0]; @@ -218,9 +201,6 @@ actionsToolkit.run( core.setOutput('driver', builderInspect.driver); core.setOutput('platforms', reducedPlatforms.join(',')); core.setOutput('nodes', JSON.stringify(builderInspect.nodes, undefined, 2)); - core.setOutput('endpoint', firstNode.endpoint); // TODO: deprecated, to be removed in a later version - core.setOutput('status', firstNode.status); // TODO: deprecated, to be removed in a later version - core.setOutput('flags', firstNode['buildkitd-flags']); // TODO: deprecated, to be removed in a later version }); if (!standalone && builderInspect.driver == 'docker-container') { @@ -290,17 +270,5 @@ actionsToolkit.run( fs.rmSync(stateHelper.certsDir, {recursive: true}); }); } - - if (stateHelper.buildxIsDefaultBuilder) { - await core.group(`Restoring default builder`, async () => { - await Exec.getExecOutput('docker', ['buildx', 'uninstall'], { - ignoreReturnCode: true - }).then(res => { - if (res.stderr.length > 0 && res.exitCode != 0) { - core.warning(`${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`); - } - }); - }); - } } ); diff --git a/src/state-helper.ts b/src/state-helper.ts index f238b62..3671669 100644 --- a/src/state-helper.ts +++ b/src/state-helper.ts @@ -8,7 +8,6 @@ export const containerName = process.env['STATE_containerName'] || ''; export const certsDir = process.env['STATE_certsDir'] || ''; export const tmpDockerContext = process.env['STATE_tmpDockerContext'] || ''; export const cleanup = /true/i.test(process.env['STATE_cleanup'] || ''); -export const buildxIsDefaultBuilder = /true/i.test(process.env['STATE_buildxIsDefaultBuilder'] || ''); export const keepState = /true/i.test(process.env['STATE_keepState'] || ''); export function setDebug(debug: string) { @@ -43,10 +42,6 @@ export function setCleanup(cleanup: boolean) { core.saveState('cleanup', cleanup); } -export function setBuildxIsDefaultBuilder(buildxIsDefaultBuilder: boolean) { - core.saveState('buildxIsDefaultBuilder', buildxIsDefaultBuilder); -} - export function setKeepState(keepState: boolean) { core.saveState('keepState', keepState); }