buildx(build): resolveProvenance from metadata

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax
2024-06-14 12:24:38 +02:00
parent 1b7201d572
commit e266e3e984
4 changed files with 74 additions and 8 deletions

View File

@@ -25,6 +25,7 @@ import {GitHub} from '../github';
import {Util} from '../util';
import {BuildMetadata} from '../types/buildx/build';
import {ProvenancePredicate} from '../types/intoto/slsa_provenance/v0.2/provenance';
export interface BuildOpts {
buildx?: Buildx;
@@ -82,6 +83,19 @@ export class Build {
return undefined;
}
public resolveProvenance(metadata?: BuildMetadata): ProvenancePredicate | undefined {
if (!metadata) {
metadata = this.resolveMetadata();
if (!metadata) {
return undefined;
}
}
if ('buildx.build.provenance' in metadata) {
return metadata['buildx.build.provenance'] as ProvenancePredicate;
}
return undefined;
}
public resolveDigest(metadata?: BuildMetadata): string | undefined {
if (!metadata) {
metadata = this.resolveMetadata();

View File

@@ -15,5 +15,6 @@
*/
export type BuildMetadata = {
[key: string]: string;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[key: string]: any;
};