diff --git a/__tests__/context.test.ts b/__tests__/context.test.ts index ac2a8ce..9984c68 100644 --- a/__tests__/context.test.ts +++ b/__tests__/context.test.ts @@ -1,6 +1,7 @@ import {beforeEach, describe, expect, jest, test} from '@jest/globals'; import * as fs from 'fs'; import * as path from 'path'; + import {Bake} from '@docker/actions-toolkit/lib/buildx/bake'; import {Builder} from '@docker/actions-toolkit/lib/buildx/builder'; import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx'; @@ -8,6 +9,7 @@ import {Context} from '@docker/actions-toolkit/lib/context'; import {Docker} from '@docker/actions-toolkit/lib/docker/docker'; import {GitHub} from '@docker/actions-toolkit/lib/github'; import {Toolkit} from '@docker/actions-toolkit/lib/toolkit'; + import {BakeDefinition} from '@docker/actions-toolkit/lib/types/bake'; import {BuilderInfo} from '@docker/actions-toolkit/lib/types/builder'; import {GitHubRepo} from '@docker/actions-toolkit/lib/types/github'; diff --git a/src/context.ts b/src/context.ts index cda78fb..b580013 100644 --- a/src/context.ts +++ b/src/context.ts @@ -1,11 +1,13 @@ import * as core from '@actions/core'; import * as handlebars from 'handlebars'; + import {Bake} from '@docker/actions-toolkit/lib/buildx/bake'; +import {Build} from '@docker/actions-toolkit/lib/buildx/build'; import {Context} from '@docker/actions-toolkit/lib/context'; -import {Inputs as BuildxInputs} from '@docker/actions-toolkit/lib/buildx/inputs'; import {GitHub} from '@docker/actions-toolkit/lib/github'; import {Toolkit} from '@docker/actions-toolkit/lib/toolkit'; import {Util} from '@docker/actions-toolkit/lib/util'; + import {BakeDefinition} from '@docker/actions-toolkit/lib/types/bake'; export interface Inputs { @@ -33,7 +35,7 @@ export async function getInputs(): Promise { noCache: core.getBooleanInput('no-cache'), pull: core.getBooleanInput('pull'), load: core.getBooleanInput('load'), - provenance: BuildxInputs.getProvenanceInput('provenance'), + provenance: Build.getProvenanceInput('provenance'), push: core.getBooleanInput('push'), sbom: core.getInput('sbom'), set: Util.getInputList('set', {ignoreComma: true, quote: false}), @@ -63,7 +65,7 @@ async function getBakeArgs(inputs: Inputs, definition: BakeDefinition, toolkit: args.push('--set', set); }); if (await toolkit.buildx.versionSatisfies('>=0.6.0')) { - args.push('--metadata-file', BuildxInputs.getBuildMetadataFilePath()); + args.push('--metadata-file', Bake.getMetadataFilePath()); } if (await toolkit.buildx.versionSatisfies('>=0.10.0')) { if (inputs.provenance) { @@ -75,10 +77,10 @@ async function getBakeArgs(inputs: Inputs, definition: BakeDefinition, toolkit: if (GitHub.context.payload.repository?.private ?? false) { // if this is a private repository, we set the default provenance // attributes being set in buildx: https://github.com/docker/buildx/blob/fb27e3f919dcbf614d7126b10c2bc2d0b1927eb6/build/build.go#L603 - args.push('--provenance', BuildxInputs.resolveProvenanceAttrs(`mode=min,inline-only=true`)); + args.push('--provenance', Build.resolveProvenanceAttrs(`mode=min,inline-only=true`)); } else { // for a public repository, we set max provenance mode. - args.push('--provenance', BuildxInputs.resolveProvenanceAttrs(`mode=max`)); + args.push('--provenance', Build.resolveProvenanceAttrs(`mode=max`)); } } if (inputs.sbom) { diff --git a/src/main.ts b/src/main.ts index b6e93b0..6dbca4d 100644 --- a/src/main.ts +++ b/src/main.ts @@ -2,12 +2,14 @@ import * as fs from 'fs'; import * as path from 'path'; import * as core from '@actions/core'; import * as actionsToolkit from '@docker/actions-toolkit'; -import {Inputs as BuildxInputs} from '@docker/actions-toolkit/lib/buildx/inputs'; + +import {Bake} from '@docker/actions-toolkit/lib/buildx/bake'; import {Context} from '@docker/actions-toolkit/lib/context'; import {Docker} from '@docker/actions-toolkit/lib/docker/docker'; import {Exec} from '@docker/actions-toolkit/lib/exec'; import {GitHub} from '@docker/actions-toolkit/lib/github'; import {Toolkit} from '@docker/actions-toolkit/lib/toolkit'; + import {BakeDefinition} from '@docker/actions-toolkit/lib/types/bake'; import {ConfigFile} from '@docker/actions-toolkit/lib/types/docker'; @@ -123,11 +125,12 @@ actionsToolkit.run( } }); - const metadata = await BuildxInputs.resolveBuildMetadata(); + const metadata = Bake.resolveMetadata(); if (metadata) { await core.group(`Metadata`, async () => { - core.info(metadata); - core.setOutput('metadata', metadata); + const metadatadt = JSON.stringify(metadata, null, 2); + core.info(metadatadt); + core.setOutput('metadata', metadatadt); }); } },