From 9a3121552c22ee3cd9eb594a23c34ce668de4ee0 Mon Sep 17 00:00:00 2001 From: Curtis Vogt Date: Wed, 15 Jan 2025 10:35:27 -0600 Subject: [PATCH] Add `DOCKER_METADATA_SET_OUTPUT_ENV` Signed-off-by: Curtis Vogt --- .github/workflows/ci.yml | 3 ++- README.md | 4 ++-- __tests__/context.test.ts | 3 --- action.yml | 4 ---- src/context.ts | 2 -- src/main.ts | 3 ++- 6 files changed, 6 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 977329b..3a30a63 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -474,6 +474,8 @@ jobs: no-output-env: runs-on: ubuntu-latest + env: + DOCKER_METADATA_SET_OUTPUT_ENV: false steps: - name: Checkout @@ -490,7 +492,6 @@ jobs: maintainer=CrazyMax annotations: | maintainer=Foo - output-env: false - name: No output environment variables set shell: bash diff --git a/README.md b/README.md index a20c492..52bd57a 100644 --- a/README.md +++ b/README.md @@ -303,7 +303,6 @@ The following inputs can be used as `step.with` keys: | `sep-labels` | String | Separator to use for labels output (default `\n`) | | `sep-annotations` | String | Separator to use for annotations output (default `\n`) | | `bake-target` | String | Bake target name (default `docker-metadata-action`) | -| `output-env` | Bool | If `true`, sets each output as an environmental variable (default `true`) | ### outputs @@ -320,7 +319,7 @@ The following outputs are available: | `bake-file-labels` | File | [Bake file definition](https://docs.docker.com/build/bake/reference/) path with labels | | `bake-file-annotations` | File | [Bake file definition](https://docs.docker.com/build/bake/reference/) path with [annotations](https://github.com/moby/buildkit/blob/master/docs/annotations.md) | -Alternatively, each output is also exported as an environment variable when `output-env` is `true`: +Alternatively, each output is also exported as an environment variable when `DOCKER_METADATA_SET_OUTPUT_ENV` is `true`: * `DOCKER_METADATA_OUTPUT_VERSION` * `DOCKER_METADATA_OUTPUT_TAGS` @@ -347,6 +346,7 @@ So it can be used with our [Docker Build Push action](https://github.com/docker/ | `DOCKER_METADATA_PR_HEAD_SHA` | Bool | If `true`, set associated head SHA instead of commit SHA that triggered the workflow on pull request event | | `DOCKER_METADATA_SHORT_SHA_LENGTH` | Number | Specifies the length of the [short commit SHA](#typesha) to ensure uniqueness. Default is `7`, but can be increased for larger repositories. | | `DOCKER_METADATA_ANNOTATIONS_LEVELS` | String | Comma separated list of annotations levels to set for annotations output separated (default `manifest`) | +| `DOCKER_METADATA_SET_OUTPUT_ENV` | Bool | If `true`, sets each output as an environmental variable (default `true`) | ## `context` input diff --git a/__tests__/context.test.ts b/__tests__/context.test.ts index 28698ef..6bd141b 100644 --- a/__tests__/context.test.ts +++ b/__tests__/context.test.ts @@ -47,7 +47,6 @@ describe('getInputs', () => { sepTags: '\n', sepAnnotations: '\n', tags: [], - outputEnv: true, } as Inputs ], [ @@ -71,7 +70,6 @@ describe('getInputs', () => { sepTags: ',', sepAnnotations: ',', tags: [], - outputEnv: true, } as Inputs ], [ @@ -91,7 +89,6 @@ describe('getInputs', () => { sepTags: '\n', sepAnnotations: '\n', tags: [], - outputEnv: true, } as Inputs ], ])( diff --git a/action.yml b/action.yml index dc772c1..35472d9 100644 --- a/action.yml +++ b/action.yml @@ -38,10 +38,6 @@ inputs: bake-target: description: 'Bake target name (default docker-metadata-action)' required: false - output-env: - description: - default: 'true' - required: true github-token: description: 'GitHub Token as provided by secrets' default: ${{ github.token }} diff --git a/src/context.ts b/src/context.ts index 4436c85..7d69c53 100644 --- a/src/context.ts +++ b/src/context.ts @@ -20,7 +20,6 @@ export interface Inputs { sepLabels: string; sepAnnotations: string; bakeTarget: string; - outputEnv: boolean; githubToken: string; } @@ -36,7 +35,6 @@ export function getInputs(): Inputs { sepLabels: core.getInput('sep-labels', {trimWhitespace: false}) || `\n`, sepAnnotations: core.getInput('sep-annotations', {trimWhitespace: false}) || `\n`, bakeTarget: core.getInput('bake-target') || `docker-metadata-action`, - outputEnv: (core.getInput('output-env') || 'true') === 'true', githubToken: core.getInput('github-token') }; } diff --git a/src/main.ts b/src/main.ts index 4278e98..ce368f5 100644 --- a/src/main.ts +++ b/src/main.ts @@ -13,7 +13,8 @@ actionsToolkit.run( const toolkit = new Toolkit({githubToken: inputs.githubToken}); const context = await getContext(inputs.context, toolkit); const repo = await toolkit.github.repoData(); - const setOutput = inputs.outputEnv ? setOutputAndEnv : core.setOutput; + const outputEnv = (process.env.DOCKER_METADATA_SET_OUTPUT_ENV || 'true') === 'true' + const setOutput = outputEnv ? setOutputAndEnv : core.setOutput; await core.group(`Context info`, async () => { core.info(`eventName: ${context.eventName}`);