Compare commits

..

4 Commits

Author SHA1 Message Date
Curtis Vogt
de15998aca Build
Signed-off-by: Curtis Vogt <curtis.vogt@gmail.com>
2025-01-15 10:38:31 -06:00
Curtis Vogt
9a3121552c Add DOCKER_METADATA_SET_OUTPUT_ENV
Signed-off-by: Curtis Vogt <curtis.vogt@gmail.com>
2025-01-15 10:38:30 -06:00
Curtis Vogt
1556862073 Build
Signed-off-by: Curtis Vogt <curtis.vogt@gmail.com>
2025-01-15 09:24:51 -06:00
Curtis Vogt
a28e9ede38 Add output-env option
Signed-off-by: Curtis Vogt <curtis.vogt@gmail.com>
2025-01-15 09:24:51 -06:00
4 changed files with 5 additions and 12 deletions

View File

@ -346,7 +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_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_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_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 environment variable (default `true`) | | `DOCKER_METADATA_SET_OUTPUT_ENV` | Bool | If `true`, sets each output as an environmental variable (default `true`) |
## `context` input ## `context` input

2
dist/index.js generated vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,6 @@ import * as fs from 'fs';
import * as core from '@actions/core'; import * as core from '@actions/core';
import * as actionsToolkit from '@docker/actions-toolkit'; import * as actionsToolkit from '@docker/actions-toolkit';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit'; import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
import {Util} from '@docker/actions-toolkit/lib/util';
import {getContext, getInputs, Inputs} from './context'; import {getContext, getInputs, Inputs} from './context';
import {Meta, Version} from './meta'; import {Meta, Version} from './meta';
@ -14,7 +13,8 @@ actionsToolkit.run(
const toolkit = new Toolkit({githubToken: inputs.githubToken}); const toolkit = new Toolkit({githubToken: inputs.githubToken});
const context = await getContext(inputs.context, toolkit); const context = await getContext(inputs.context, toolkit);
const repo = await toolkit.github.repoData(); const repo = await toolkit.github.repoData();
const setOutput = outputEnvEnabled() ? 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 () => { await core.group(`Context info`, async () => {
core.info(`eventName: ${context.eventName}`); core.info(`eventName: ${context.eventName}`);
@ -111,10 +111,3 @@ function setOutputAndEnv(name: string, value: string) {
core.setOutput(name, value); core.setOutput(name, value);
core.exportVariable(`DOCKER_METADATA_OUTPUT_${name.replace(/\W/g, '_').toUpperCase()}`, value); core.exportVariable(`DOCKER_METADATA_OUTPUT_${name.replace(/\W/g, '_').toUpperCase()}`, value);
} }
function outputEnvEnabled(): boolean {
if (process.env.DOCKER_METADATA_SET_OUTPUT_ENV) {
return Util.parseBool(process.env.DOCKER_METADATA_SET_OUTPUT_ENV);
}
return true;
}