Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9505deb078 | ||
|
|
af784a2022 | ||
|
|
afcc1c08a8 | ||
|
|
af0890ba7a | ||
|
|
c4109c3fc2 | ||
|
|
e314ca9bb5 |
@@ -60,13 +60,14 @@ describe('gitContext', () => {
|
|||||||
|
|
||||||
type GitContextTestCase = {
|
type GitContextTestCase = {
|
||||||
ref: string;
|
ref: string;
|
||||||
|
checksum?: string;
|
||||||
|
subdir?: string;
|
||||||
|
attrs?: Record<string, string>;
|
||||||
format: GitContextFormat | undefined;
|
format: GitContextFormat | undefined;
|
||||||
|
|
||||||
prHeadRef: boolean;
|
prHeadRef: boolean;
|
||||||
sendGitQueryAsInput: boolean;
|
sendGitQueryAsInput: boolean;
|
||||||
buildxQuerySupport: boolean;
|
buildxQuerySupport: boolean;
|
||||||
subdir?: string;
|
|
||||||
keepGitDir?: boolean;
|
|
||||||
submodules?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
@@ -82,10 +83,15 @@ describe('gitContext', () => {
|
|||||||
[{ref: 'refs/pull/15/merge', format: undefined, prHeadRef: false, sendGitQueryAsInput: true, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/pull/15/merge&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
|
[{ref: 'refs/pull/15/merge', format: undefined, prHeadRef: false, sendGitQueryAsInput: true, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/pull/15/merge&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
[{ref: 'refs/pull/15/merge', format: undefined, prHeadRef: true, sendGitQueryAsInput: true, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/pull/15/head&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
|
[{ref: 'refs/pull/15/merge', format: undefined, prHeadRef: true, sendGitQueryAsInput: true, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/pull/15/head&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: true, buildxQuerySupport: false}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
|
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: true, buildxQuerySupport: false}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, keepGitDir: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&keep-git-dir=true'],
|
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, attrs: {}}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: false, keepGitDir: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&keep-git-dir=true'],
|
[{ref: 'refs/heads/master', checksum: undefined, format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, attrs: {checksum: 'cafebabe'}}, 'https://github.com/docker/actions-toolkit.git#cafebabe'],
|
||||||
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, submodules: false}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&submodules=false'],
|
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, attrs: {subdir: 'subdir'}}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37:subdir'],
|
||||||
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: false, submodules: false}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&submodules=false'],
|
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, attrs: {ref: 'refs/tags/v1.0.0'}}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
|
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, attrs: {'keep-git-dir': 'true'}}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&keep-git-dir=true'],
|
||||||
|
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: false, attrs: {'keep-git-dir': 'true'}}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&keep-git-dir=true'],
|
||||||
|
[{ref: 'refs/heads/master', checksum: undefined, format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, attrs: {checksum: 'cafebabe', 'keep-git-dir': 'true'}}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=cafebabe&keep-git-dir=true'],
|
||||||
|
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, attrs: {submodules: 'false'}}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&submodules=false'],
|
||||||
|
[{ref: 'refs/heads/master', format: undefined, prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: false, attrs: {submodules: 'false'}}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&submodules=false'],
|
||||||
// query format
|
// query format
|
||||||
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
|
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
[{ref: 'master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
|
[{ref: 'master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
@@ -94,22 +100,26 @@ describe('gitContext', () => {
|
|||||||
[{ref: 'refs/pull/15/merge', format: 'query', prHeadRef: true, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/pull/15/head&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
|
[{ref: 'refs/pull/15/merge', format: 'query', prHeadRef: true, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/pull/15/head&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, subdir: 'subdir'}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&subdir=subdir'],
|
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, subdir: 'subdir'}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&subdir=subdir'],
|
||||||
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, subdir: '.'}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
|
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, subdir: '.'}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, subdir: 'subdir', keepGitDir: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&subdir=subdir&keep-git-dir=true'],
|
[{ref: 'refs/heads/master', checksum: undefined, format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, attrs: {ref: 'refs/tags/v1.0.0', checksum: 'cafebabe', subdir: 'subdir', submodules: 'false'}}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=cafebabe&subdir=subdir&submodules=false'],
|
||||||
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, submodules: true}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&submodules=true'],
|
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, subdir: 'subdir', attrs: {'keep-git-dir': 'true'}}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&subdir=subdir&keep-git-dir=true'],
|
||||||
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, submodules: false}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&submodules=false'],
|
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, attrs: {submodules: 'true'}}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&submodules=true'],
|
||||||
|
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, attrs: {submodules: 'false'}}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&submodules=false'],
|
||||||
|
[{ref: 'refs/heads/master', format: 'query', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, attrs: {'keep-git-dir': 'true', submodules: 'false'}}, 'https://github.com/docker/actions-toolkit.git?ref=refs/heads/master&checksum=860c1904a1ce19322e91ac35af1ab07466440c37&keep-git-dir=true&submodules=false'],
|
||||||
// fragment format
|
// fragment format
|
||||||
[{ref: 'refs/heads/master', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
|
[{ref: 'refs/heads/master', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
[{ref: 'master', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
|
[{ref: 'master', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
[{ref: 'refs/pull/15/merge', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#refs/pull/15/merge'],
|
[{ref: 'refs/pull/15/merge', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#refs/pull/15/merge'],
|
||||||
[{ref: 'refs/tags/v1.0.0', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
|
[{ref: 'refs/tags/v1.0.0', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
[{ref: 'refs/pull/15/merge', format: 'fragment', prHeadRef: true, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#refs/pull/15/head'],
|
[{ref: 'refs/pull/15/merge', format: 'fragment', prHeadRef: true, sendGitQueryAsInput: false, buildxQuerySupport: true}, 'https://github.com/docker/actions-toolkit.git#refs/pull/15/head'],
|
||||||
|
[{ref: 'refs/heads/master', checksum: undefined, format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, attrs: {checksum: 'cafebabe', subdir: 'subdir', ref: 'refs/tags/v1.0.0'}}, 'https://github.com/docker/actions-toolkit.git#cafebabe:subdir'],
|
||||||
|
[{ref: 'refs/heads/master', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, attrs: {'keep-git-dir': 'true'}}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
[{ref: 'refs/heads/master', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, subdir: 'subdir'}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37:subdir'],
|
[{ref: 'refs/heads/master', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, subdir: 'subdir'}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37:subdir'],
|
||||||
[{ref: 'refs/heads/master', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, subdir: '.'}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
|
[{ref: 'refs/heads/master', format: 'fragment', prHeadRef: false, sendGitQueryAsInput: false, buildxQuerySupport: true, subdir: '.'}, 'https://github.com/docker/actions-toolkit.git#860c1904a1ce19322e91ac35af1ab07466440c37'],
|
||||||
[{ref: 'refs/pull/15/merge', format: 'fragment', prHeadRef: true, sendGitQueryAsInput: false, buildxQuerySupport: true, subdir: 'subdir'}, 'https://github.com/docker/actions-toolkit.git#refs/pull/15/head:subdir'],
|
[{ref: 'refs/pull/15/merge', format: 'fragment', prHeadRef: true, sendGitQueryAsInput: false, buildxQuerySupport: true, subdir: 'subdir'}, 'https://github.com/docker/actions-toolkit.git#refs/pull/15/head:subdir'],
|
||||||
];
|
];
|
||||||
|
|
||||||
test.each(gitContextCases)('given %o should return %o', async (input: GitContextTestCase, expected: string) => {
|
test.each(gitContextCases)('given %o should return %o', async (input: GitContextTestCase, expected: string) => {
|
||||||
const {ref, format, prHeadRef, sendGitQueryAsInput, buildxQuerySupport, subdir, keepGitDir, submodules} = input;
|
const {ref, checksum, format, prHeadRef, sendGitQueryAsInput, buildxQuerySupport, subdir, attrs} = input;
|
||||||
process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF = prHeadRef ? 'true' : '';
|
process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF = prHeadRef ? 'true' : '';
|
||||||
process.env.BUILDX_SEND_GIT_QUERY_AS_INPUT = sendGitQueryAsInput ? 'true' : '';
|
process.env.BUILDX_SEND_GIT_QUERY_AS_INPUT = sendGitQueryAsInput ? 'true' : '';
|
||||||
const buildx = new Buildx();
|
const buildx = new Buildx();
|
||||||
@@ -118,11 +128,10 @@ describe('gitContext', () => {
|
|||||||
expect(
|
expect(
|
||||||
await build.gitContext({
|
await build.gitContext({
|
||||||
ref,
|
ref,
|
||||||
checksum: '860c1904a1ce19322e91ac35af1ab07466440c37',
|
...('checksum' in input ? {checksum} : {checksum: '860c1904a1ce19322e91ac35af1ab07466440c37'}),
|
||||||
format,
|
format,
|
||||||
subdir,
|
subdir,
|
||||||
keepGitDir,
|
attrs
|
||||||
submodules
|
|
||||||
})
|
})
|
||||||
).toEqual(expected);
|
).toEqual(expected);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -51,8 +51,8 @@
|
|||||||
"@actions/io": "^3.0.2",
|
"@actions/io": "^3.0.2",
|
||||||
"@actions/tool-cache": "^4.0.0",
|
"@actions/tool-cache": "^4.0.0",
|
||||||
"@sigstore/bundle": "^4.0.0",
|
"@sigstore/bundle": "^4.0.0",
|
||||||
"@sigstore/sign": "^4.1.0",
|
"@sigstore/sign": "^4.1.1",
|
||||||
"@sigstore/tuf": "^4.0.1",
|
"@sigstore/tuf": "^4.0.2",
|
||||||
"@sigstore/verify": "^3.1.0",
|
"@sigstore/verify": "^3.1.0",
|
||||||
"async-retry": "^1.3.3",
|
"async-retry": "^1.3.3",
|
||||||
"csv-parse": "^6.2.0",
|
"csv-parse": "^6.2.0",
|
||||||
|
|||||||
@@ -42,8 +42,7 @@ export interface GitContextOpts {
|
|||||||
ref?: string;
|
ref?: string;
|
||||||
checksum?: string;
|
checksum?: string;
|
||||||
subdir?: string;
|
subdir?: string;
|
||||||
keepGitDir?: boolean;
|
attrs?: Record<string, string>;
|
||||||
submodules?: boolean;
|
|
||||||
format?: GitContextFormat;
|
format?: GitContextFormat;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,19 +58,29 @@ export class Build {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public async gitContext(opts?: GitContextOpts): Promise<string> {
|
public async gitContext(opts?: GitContextOpts): Promise<string> {
|
||||||
|
const gitContextCommonAttrs = new Set(['ref', 'checksum', 'subdir']);
|
||||||
const setPullRequestHeadRef = Util.parseBoolOrDefault(process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF);
|
const setPullRequestHeadRef = Util.parseBoolOrDefault(process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF);
|
||||||
const gitChecksum = opts?.checksum || github.context.sha;
|
const commonAttrs = {
|
||||||
let ref = opts?.ref || github.context.ref;
|
ref: opts?.attrs?.ref,
|
||||||
|
checksum: opts?.attrs?.checksum,
|
||||||
|
subdir: opts?.attrs?.subdir
|
||||||
|
};
|
||||||
|
|
||||||
|
const gitChecksum = opts?.checksum || commonAttrs.checksum || github.context.sha;
|
||||||
|
let ref = opts?.ref || commonAttrs.ref || github.context.ref;
|
||||||
|
const subdir = opts?.subdir || commonAttrs.subdir;
|
||||||
|
const attrs = Object.entries(opts?.attrs || {}).filter(([name]) => !gitContextCommonAttrs.has(name));
|
||||||
if (!ref.startsWith('refs/')) {
|
if (!ref.startsWith('refs/')) {
|
||||||
ref = `refs/heads/${ref}`;
|
ref = `refs/heads/${ref}`;
|
||||||
} else if (ref.startsWith(`refs/pull/`) && setPullRequestHeadRef) {
|
} else if (ref.startsWith(`refs/pull/`) && setPullRequestHeadRef) {
|
||||||
ref = ref.replace(/\/merge$/g, '/head');
|
ref = ref.replace(/\/merge$/g, '/head');
|
||||||
}
|
}
|
||||||
|
|
||||||
const baseURL = `${GitHub.serverURL}/${github.context.repo.owner}/${github.context.repo.repo}.git`;
|
const baseURL = `${GitHub.serverURL}/${github.context.repo.owner}/${github.context.repo.repo}.git`;
|
||||||
let format = opts?.format;
|
let format = opts?.format;
|
||||||
if (!format) {
|
if (!format) {
|
||||||
const sendGitQueryAsInput = Util.parseBoolOrDefault(process.env.BUILDX_SEND_GIT_QUERY_AS_INPUT);
|
const sendGitQueryAsInput = Util.parseBoolOrDefault(process.env.BUILDX_SEND_GIT_QUERY_AS_INPUT);
|
||||||
if (opts?.keepGitDir || typeof opts?.submodules !== 'undefined') {
|
if (attrs.length > 0) {
|
||||||
format = 'query';
|
format = 'query';
|
||||||
} else if (sendGitQueryAsInput && (await this.buildx.versionSatisfies('>=0.29.0'))) {
|
} else if (sendGitQueryAsInput && (await this.buildx.versionSatisfies('>=0.29.0'))) {
|
||||||
format = 'query';
|
format = 'query';
|
||||||
@@ -84,19 +93,16 @@ export class Build {
|
|||||||
if (gitChecksum) {
|
if (gitChecksum) {
|
||||||
query.push(`checksum=${gitChecksum}`);
|
query.push(`checksum=${gitChecksum}`);
|
||||||
}
|
}
|
||||||
if (opts?.subdir && opts.subdir !== '.') {
|
if (subdir && subdir !== '.') {
|
||||||
query.push(`subdir=${opts.subdir}`);
|
query.push(`subdir=${subdir}`);
|
||||||
}
|
}
|
||||||
if (typeof opts?.keepGitDir !== 'undefined') {
|
for (const [name, value] of attrs) {
|
||||||
query.push(`keep-git-dir=${opts.keepGitDir}`);
|
query.push(`${name}=${value}`);
|
||||||
}
|
|
||||||
if (typeof opts?.submodules !== 'undefined') {
|
|
||||||
query.push(`submodules=${opts.submodules}`);
|
|
||||||
}
|
}
|
||||||
return `${baseURL}?${query.join('&')}`;
|
return `${baseURL}?${query.join('&')}`;
|
||||||
}
|
}
|
||||||
const fragmentRef = gitChecksum && !ref.startsWith(`refs/pull/`) ? gitChecksum : ref;
|
const fragmentRef = gitChecksum && !ref.startsWith(`refs/pull/`) ? gitChecksum : ref;
|
||||||
return `${baseURL}#${fragmentRef}${opts?.subdir && opts.subdir !== '.' ? `:${opts.subdir}` : ''}`;
|
return `${baseURL}#${fragmentRef}${subdir && subdir !== '.' ? `:${subdir}` : ''}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getImageIDFilePath(): string {
|
public getImageIDFilePath(): string {
|
||||||
|
|||||||
69
yarn.lock
69
yarn.lock
@@ -380,8 +380,8 @@ __metadata:
|
|||||||
"@actions/tool-cache": "npm:^4.0.0"
|
"@actions/tool-cache": "npm:^4.0.0"
|
||||||
"@eslint/js": "npm:^9.39.3"
|
"@eslint/js": "npm:^9.39.3"
|
||||||
"@sigstore/bundle": "npm:^4.0.0"
|
"@sigstore/bundle": "npm:^4.0.0"
|
||||||
"@sigstore/sign": "npm:^4.1.0"
|
"@sigstore/sign": "npm:^4.1.1"
|
||||||
"@sigstore/tuf": "npm:^4.0.1"
|
"@sigstore/tuf": "npm:^4.0.2"
|
||||||
"@sigstore/verify": "npm:^3.1.0"
|
"@sigstore/verify": "npm:^3.1.0"
|
||||||
"@types/gunzip-maybe": "npm:^1.4.3"
|
"@types/gunzip-maybe": "npm:^1.4.3"
|
||||||
"@types/he": "npm:^1.2.3"
|
"@types/he": "npm:^1.2.3"
|
||||||
@@ -696,6 +696,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@gar/promise-retry@npm:^1.0.0, @gar/promise-retry@npm:^1.0.2":
|
||||||
|
version: 1.0.3
|
||||||
|
resolution: "@gar/promise-retry@npm:1.0.3"
|
||||||
|
checksum: 10/0d13ea3bb1025755e055648f6e290d2a7e0c87affaf552218f09f66b3fcd9ea9d5c9cc5fe2aa6e285e1530437768e40f9448fe9a86f4f3417b216dcf488d3d1a
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@gar/promisify@npm:^1.1.3":
|
"@gar/promisify@npm:^1.1.3":
|
||||||
version: 1.1.3
|
version: 1.1.3
|
||||||
resolution: "@gar/promisify@npm:1.1.3"
|
resolution: "@gar/promisify@npm:1.1.3"
|
||||||
@@ -837,6 +844,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@npmcli/redact@npm:^4.0.0":
|
||||||
|
version: 4.0.0
|
||||||
|
resolution: "@npmcli/redact@npm:4.0.0"
|
||||||
|
checksum: 10/5d52df2b5267f4369c97a2b2f7c427e3d7aa4b6a83e7a1b522e196f6e9d50024c620bd0cb2052067c74d1aaa0c330d9bc04e1d335bfb46180e705bb33423e74c
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@octokit/auth-token@npm:^6.0.0":
|
"@octokit/auth-token@npm:^6.0.0":
|
||||||
version: 6.0.0
|
version: 6.0.0
|
||||||
resolution: "@octokit/auth-token@npm:6.0.0"
|
resolution: "@octokit/auth-token@npm:6.0.0"
|
||||||
@@ -1234,6 +1248,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@sigstore/core@npm:^3.2.0":
|
||||||
|
version: 3.2.0
|
||||||
|
resolution: "@sigstore/core@npm:3.2.0"
|
||||||
|
checksum: 10/2425d20297d57a5f5a62f0e6c2f4280818015ea00b3defebdac63f13c7d01db988602c316c16e374ba091c3649dd9a22ae8c9ba3ac165f736b0503164c5da5f5
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@sigstore/protobuf-specs@npm:^0.5.0":
|
"@sigstore/protobuf-specs@npm:^0.5.0":
|
||||||
version: 0.5.0
|
version: 0.5.0
|
||||||
resolution: "@sigstore/protobuf-specs@npm:0.5.0"
|
resolution: "@sigstore/protobuf-specs@npm:0.5.0"
|
||||||
@@ -1241,27 +1262,27 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@sigstore/sign@npm:^4.1.0":
|
"@sigstore/sign@npm:^4.1.1":
|
||||||
version: 4.1.0
|
version: 4.1.1
|
||||||
resolution: "@sigstore/sign@npm:4.1.0"
|
resolution: "@sigstore/sign@npm:4.1.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
"@gar/promise-retry": "npm:^1.0.2"
|
||||||
"@sigstore/bundle": "npm:^4.0.0"
|
"@sigstore/bundle": "npm:^4.0.0"
|
||||||
"@sigstore/core": "npm:^3.1.0"
|
"@sigstore/core": "npm:^3.2.0"
|
||||||
"@sigstore/protobuf-specs": "npm:^0.5.0"
|
"@sigstore/protobuf-specs": "npm:^0.5.0"
|
||||||
make-fetch-happen: "npm:^15.0.3"
|
make-fetch-happen: "npm:^15.0.4"
|
||||||
proc-log: "npm:^6.1.0"
|
proc-log: "npm:^6.1.0"
|
||||||
promise-retry: "npm:^2.0.1"
|
checksum: 10/c9424813ed83ae26111dd3a190dbfd776901cfc245ebb9aa68e133a7ffcbf8fc053f01d999a451e44805a291921ba4d2dfe80e3fd41b20cd5becd26aae5f5e7c
|
||||||
checksum: 10/e5441d4cacf0f203f329e96bb7a3ca77682cfdf90d6448ad368344056fd8d55c01742e2b636545d55364490a87988f767f2b23168b2d9cc52ef3d8fe9e9496aa
|
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@sigstore/tuf@npm:^4.0.1":
|
"@sigstore/tuf@npm:^4.0.2":
|
||||||
version: 4.0.1
|
version: 4.0.2
|
||||||
resolution: "@sigstore/tuf@npm:4.0.1"
|
resolution: "@sigstore/tuf@npm:4.0.2"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@sigstore/protobuf-specs": "npm:^0.5.0"
|
"@sigstore/protobuf-specs": "npm:^0.5.0"
|
||||||
tuf-js: "npm:^4.1.0"
|
tuf-js: "npm:^4.1.0"
|
||||||
checksum: 10/1a9725aa95eba55badf24442fe8a71c6d68f8b7d17a6b2a5e4b5590117f0181881b3485cfa57ea375b7c3a38421dbffdfcbe86e6623d903e17e3a8359837e268
|
checksum: 10/14882b8e71be4185ec417744b97a47392a50da00aafd4207a46bb74b40aa019ebf22d928052fd2d31a8da0da1efe7ebebac5a70898b31a74239a1ada997be754
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -3460,7 +3481,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"make-fetch-happen@npm:^15.0.1, make-fetch-happen@npm:^15.0.3":
|
"make-fetch-happen@npm:^15.0.1":
|
||||||
version: 15.0.3
|
version: 15.0.3
|
||||||
resolution: "make-fetch-happen@npm:15.0.3"
|
resolution: "make-fetch-happen@npm:15.0.3"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -3479,6 +3500,26 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"make-fetch-happen@npm:^15.0.4":
|
||||||
|
version: 15.0.5
|
||||||
|
resolution: "make-fetch-happen@npm:15.0.5"
|
||||||
|
dependencies:
|
||||||
|
"@gar/promise-retry": "npm:^1.0.0"
|
||||||
|
"@npmcli/agent": "npm:^4.0.0"
|
||||||
|
"@npmcli/redact": "npm:^4.0.0"
|
||||||
|
cacache: "npm:^20.0.1"
|
||||||
|
http-cache-semantics: "npm:^4.1.1"
|
||||||
|
minipass: "npm:^7.0.2"
|
||||||
|
minipass-fetch: "npm:^5.0.0"
|
||||||
|
minipass-flush: "npm:^1.0.5"
|
||||||
|
minipass-pipeline: "npm:^1.2.4"
|
||||||
|
negotiator: "npm:^1.0.0"
|
||||||
|
proc-log: "npm:^6.0.0"
|
||||||
|
ssri: "npm:^13.0.0"
|
||||||
|
checksum: 10/d2649effb06c00cb2b266057cb1c8c1e99cfc8d1378e7d9c26cc8f00be41bc63d59b77a5576ed28f8105acc57fb16220b64217f8d3a6a066a594c004aa163afa
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"minimatch@npm:^10.0.3":
|
"minimatch@npm:^10.0.3":
|
||||||
version: 10.0.3
|
version: 10.0.3
|
||||||
resolution: "minimatch@npm:10.0.3"
|
resolution: "minimatch@npm:10.0.3"
|
||||||
|
|||||||
Reference in New Issue
Block a user