diff --git a/src/context.ts b/src/context.ts index b8b7c3f..882c1c7 100644 --- a/src/context.ts +++ b/src/context.ts @@ -46,28 +46,6 @@ export async function getInputs(): Promise { }; } -export function sanitizeInputs(inputs: Inputs) { - const res = {}; - for (const key of Object.keys(inputs)) { - if (key === 'github-token') { - continue; - } - const value: string | string[] | boolean = inputs[key]; - if (typeof value === 'boolean' && value === false) { - continue; - } else if (Array.isArray(value) && value.length === 0) { - continue; - } else if (!value) { - continue; - } - if (key === 'workdir' && value === '.') { - continue; - } - res[key] = value; - } - return res; -} - export async function getArgs(inputs: Inputs, definition: BakeDefinition, toolkit: Toolkit): Promise> { // prettier-ignore return [ diff --git a/src/main.ts b/src/main.ts index c1da444..ded65ae 100644 --- a/src/main.ts +++ b/src/main.ts @@ -26,8 +26,8 @@ actionsToolkit.run( const startedTime = new Date(); const inputs: context.Inputs = await context.getInputs(); + stateHelper.setSummaryInputs(inputs); core.debug(`inputs: ${JSON.stringify(inputs)}`); - stateHelper.setInputs(inputs); const toolkit = new Toolkit(); const gitAuthToken = process.env.BUILDX_BAKE_GIT_AUTH_TOKEN ?? inputs['github-token']; @@ -237,7 +237,7 @@ actionsToolkit.run( await GitHub.writeBuildSummary({ exportRes: exportRes, uploadRes: uploadRes, - inputs: stateHelper.inputs, + inputs: stateHelper.summaryInputs, bakeDefinition: stateHelper.bakeDefinition }); } catch (e) { diff --git a/src/state-helper.ts b/src/state-helper.ts index 0a3eb3a..c418ed6 100644 --- a/src/state-helper.ts +++ b/src/state-helper.ts @@ -2,11 +2,13 @@ import * as core from '@actions/core'; import {BakeDefinition} from '@docker/actions-toolkit/lib/types/buildx/bake'; -import {Inputs, sanitizeInputs} from './context'; +import {Inputs} from './context'; export const tmpDir = process.env['STATE_tmpDir'] || ''; -export const inputs = process.env['STATE_inputs'] ? JSON.parse(process.env['STATE_inputs']) : undefined; + +export const summaryInputs = process.env['STATE_summaryInputs'] ? JSON.parse(process.env['STATE_summaryInputs']) : undefined; export const bakeDefinition = process.env['STATE_bakeDefinition'] ? JSON.parse(process.env['STATE_bakeDefinition']) : undefined; + export const buildRefs = process.env['STATE_buildRefs'] ? process.env['STATE_buildRefs'].split(',') : []; export const isSummarySupported = !!process.env['STATE_isSummarySupported']; @@ -14,10 +16,6 @@ export function setTmpDir(tmpDir: string) { core.saveState('tmpDir', tmpDir); } -export function setInputs(inputs: Inputs) { - core.saveState('inputs', JSON.stringify(sanitizeInputs(inputs))); -} - export function setBakeDefinition(bakeDefinition: BakeDefinition) { core.saveState('bakeDefinition', JSON.stringify(bakeDefinition)); } @@ -29,3 +27,22 @@ export function setBuildRefs(buildRefs: Array) { export function setSummarySupported() { core.saveState('isSummarySupported', 'true'); } + +export function setSummaryInputs(inputs: Inputs) { + const res = {}; + for (const key of Object.keys(inputs)) { + if (key === 'github-token') { + continue; + } + const value: string | string[] | boolean = inputs[key]; + if (typeof value === 'boolean' && !value) { + continue; + } else if (Array.isArray(value) && value.length === 0) { + continue; + } else if (!value) { + continue; + } + res[key] = value; + } + core.saveState('summaryInputs', JSON.stringify(res)); +}