@docker/actions-toolkit 0.76.0 → 0.77.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/buildkit/buildkit.d.ts +3 -3
- package/lib/buildkit/buildkit.js +67 -117
- package/lib/buildkit/buildkit.js.map +1 -1
- package/lib/buildkit/config.js +7 -14
- package/lib/buildkit/config.js.map +1 -1
- package/lib/buildkit/git.d.ts +1 -1
- package/lib/buildkit/git.js +8 -12
- package/lib/buildkit/git.js.map +1 -1
- package/lib/buildx/bake.d.ts +4 -4
- package/lib/buildx/bake.js +76 -93
- package/lib/buildx/bake.js.map +1 -1
- package/lib/buildx/build.d.ts +5 -5
- package/lib/buildx/build.js +44 -78
- package/lib/buildx/build.js.map +1 -1
- package/lib/buildx/builder.d.ts +2 -2
- package/lib/buildx/builder.js +42 -91
- package/lib/buildx/builder.js.map +1 -1
- package/lib/buildx/buildx.d.ts +3 -3
- package/lib/buildx/buildx.js +212 -274
- package/lib/buildx/buildx.js.map +1 -1
- package/lib/buildx/history.d.ts +2 -2
- package/lib/buildx/history.js +226 -284
- package/lib/buildx/history.js.map +1 -1
- package/lib/buildx/imagetools.d.ts +5 -5
- package/lib/buildx/imagetools.js +67 -92
- package/lib/buildx/imagetools.js.map +1 -1
- package/lib/buildx/install.d.ts +14 -3
- package/lib/buildx/install.js +239 -276
- package/lib/buildx/install.js.map +1 -1
- package/lib/cache.js +88 -138
- package/lib/cache.js.map +1 -1
- package/lib/compose/compose.js +53 -107
- package/lib/compose/compose.js.map +1 -1
- package/lib/compose/install.d.ts +2 -2
- package/lib/compose/install.js +129 -191
- package/lib/compose/install.js.map +1 -1
- package/lib/context.js +10 -50
- package/lib/context.js.map +1 -1
- package/lib/cosign/cosign.js +55 -106
- package/lib/cosign/cosign.js.map +1 -1
- package/lib/cosign/dockerfile.js +1 -4
- package/lib/cosign/dockerfile.js.map +1 -1
- package/lib/cosign/install.d.ts +6 -3
- package/lib/cosign/install.js +183 -261
- package/lib/cosign/install.js.map +1 -1
- package/lib/docker/assets.js +15 -24
- package/lib/docker/assets.js.map +1 -1
- package/lib/docker/docker.d.ts +1 -1
- package/lib/docker/docker.js +112 -182
- package/lib/docker/docker.js.map +1 -1
- package/lib/docker/install.d.ts +3 -3
- package/lib/docker/install.js +543 -617
- package/lib/docker/install.js.map +1 -1
- package/lib/dockerhub.d.ts +1 -1
- package/lib/dockerhub.js +67 -125
- package/lib/dockerhub.js.map +1 -1
- package/lib/exec.js +9 -59
- package/lib/exec.js.map +1 -1
- package/lib/git.d.ts +2 -1
- package/lib/git.js +144 -220
- package/lib/git.js.map +1 -1
- package/lib/github/artifact.d.ts +19 -0
- package/lib/github/artifact.js +49 -0
- package/lib/github/artifact.js.map +1 -0
- package/lib/{github.d.ts → github/github.d.ts} +4 -8
- package/lib/github/github.js +135 -0
- package/lib/github/github.js.map +1 -0
- package/lib/github/summary.d.ts +20 -0
- package/lib/github/summary.js +166 -0
- package/lib/github/summary.js.map +1 -0
- package/lib/index.js +17 -64
- package/lib/index.js.map +1 -1
- package/lib/oci/oci.d.ts +2 -2
- package/lib/oci/oci.js +52 -104
- package/lib/oci/oci.js.map +1 -1
- package/lib/regclient/install.d.ts +2 -2
- package/lib/regclient/install.js +83 -141
- package/lib/regclient/install.js.map +1 -1
- package/lib/regclient/regctl.d.ts +1 -1
- package/lib/regclient/regctl.js +67 -123
- package/lib/regclient/regctl.js.map +1 -1
- package/lib/sigstore/sigstore.d.ts +5 -3
- package/lib/sigstore/sigstore.js +355 -368
- package/lib/sigstore/sigstore.js.map +1 -1
- package/lib/toolkit.d.ts +16 -16
- package/lib/toolkit.js +49 -37
- package/lib/toolkit.js.map +1 -1
- package/lib/types/buildkit/buildkit.js +1 -4
- package/lib/types/buildkit/buildkit.js.map +1 -1
- package/lib/types/buildkit/client.d.ts +2 -2
- package/lib/types/buildkit/client.js +1 -2
- package/lib/types/buildkit/client.js.map +1 -1
- package/lib/types/buildkit/control.d.ts +4 -4
- package/lib/types/buildkit/control.js +1 -2
- package/lib/types/buildkit/control.js.map +1 -1
- package/lib/types/buildkit/git.js +1 -2
- package/lib/types/buildkit/git.js.map +1 -1
- package/lib/types/buildkit/ops.js +1 -2
- package/lib/types/buildkit/ops.js.map +1 -1
- package/lib/types/buildkit/rpc.js +1 -2
- package/lib/types/buildkit/rpc.js.map +1 -1
- package/lib/types/buildx/bake.js +1 -2
- package/lib/types/buildx/bake.js.map +1 -1
- package/lib/types/buildx/build.js +1 -2
- package/lib/types/buildx/build.js.map +1 -1
- package/lib/types/buildx/builder.js +1 -2
- package/lib/types/buildx/builder.js.map +1 -1
- package/lib/types/buildx/buildx.d.ts +1 -1
- package/lib/types/buildx/buildx.js +1 -2
- package/lib/types/buildx/buildx.js.map +1 -1
- package/lib/types/buildx/history.js +1 -2
- package/lib/types/buildx/history.js.map +1 -1
- package/lib/types/buildx/imagetools.d.ts +3 -3
- package/lib/types/buildx/imagetools.js +1 -2
- package/lib/types/buildx/imagetools.js.map +1 -1
- package/lib/types/compose/compose.d.ts +1 -1
- package/lib/types/compose/compose.js +1 -2
- package/lib/types/compose/compose.js.map +1 -1
- package/lib/types/cosign/cosign.d.ts +1 -1
- package/lib/types/cosign/cosign.js +1 -2
- package/lib/types/cosign/cosign.js.map +1 -1
- package/lib/types/docker/docker.js +1 -2
- package/lib/types/docker/docker.js.map +1 -1
- package/lib/types/docker/mediatype.js +3 -6
- package/lib/types/docker/mediatype.js.map +1 -1
- package/lib/types/dockerhub.js +1 -2
- package/lib/types/dockerhub.js.map +1 -1
- package/lib/types/github/artifact.d.ts +26 -0
- package/lib/types/{git.d.ts → github/artifact.js} +3 -3
- package/lib/types/github/artifact.js.map +1 -0
- package/lib/types/{github.d.ts → github/github.d.ts} +4 -23
- package/lib/types/{git.js → github/github.js} +2 -3
- package/lib/types/github/github.js.map +1 -0
- package/lib/types/github/summary.d.ts +29 -0
- package/lib/types/{github.js → github/summary.js} +3 -4
- package/lib/types/github/summary.js.map +1 -0
- package/lib/types/intoto/intoto.js +2 -5
- package/lib/types/intoto/intoto.js.map +1 -1
- package/lib/types/intoto/slsa_provenance/v0.2/provenance.js +1 -4
- package/lib/types/intoto/slsa_provenance/v0.2/provenance.js.map +1 -1
- package/lib/types/oci/config.d.ts +2 -2
- package/lib/types/oci/config.js +1 -2
- package/lib/types/oci/config.js.map +1 -1
- package/lib/types/oci/descriptor.d.ts +1 -1
- package/lib/types/oci/descriptor.js +3 -6
- package/lib/types/oci/descriptor.js.map +1 -1
- package/lib/types/oci/digest.js +1 -2
- package/lib/types/oci/digest.js.map +1 -1
- package/lib/types/oci/index.d.ts +2 -2
- package/lib/types/oci/index.js +1 -2
- package/lib/types/oci/index.js.map +1 -1
- package/lib/types/oci/layout.js +4 -7
- package/lib/types/oci/layout.js.map +1 -1
- package/lib/types/oci/manifest.d.ts +2 -2
- package/lib/types/oci/manifest.js +1 -2
- package/lib/types/oci/manifest.js.map +1 -1
- package/lib/types/oci/mediatype.js +6 -9
- package/lib/types/oci/mediatype.js.map +1 -1
- package/lib/types/oci/oci.d.ts +4 -4
- package/lib/types/oci/oci.js +1 -2
- package/lib/types/oci/oci.js.map +1 -1
- package/lib/types/oci/versioned.js +1 -2
- package/lib/types/oci/versioned.js.map +1 -1
- package/lib/types/regclient/regclient.d.ts +1 -1
- package/lib/types/regclient/regclient.js +1 -2
- package/lib/types/regclient/regclient.js.map +1 -1
- package/lib/types/sigstore/sigstore.d.ts +11 -2
- package/lib/types/sigstore/sigstore.js +4 -7
- package/lib/types/sigstore/sigstore.js.map +1 -1
- package/lib/types/undock/undock.d.ts +1 -1
- package/lib/types/undock/undock.js +1 -2
- package/lib/types/undock/undock.js.map +1 -1
- package/lib/undock/install.d.ts +2 -2
- package/lib/undock/install.js +93 -151
- package/lib/undock/install.js.map +1 -1
- package/lib/undock/undock.js +88 -141
- package/lib/undock/undock.js.map +1 -1
- package/lib/util.js +36 -89
- package/lib/util.js.map +1 -1
- package/package.json +31 -42
- package/lib/github.js +0 -421
- package/lib/github.js.map +0 -1
- package/lib/types/git.js.map +0 -1
- package/lib/types/github.js.map +0 -1
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 actions-toolkit authors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import * as core from '@actions/core';
|
|
17
|
+
import * as github from '@actions/github';
|
|
18
|
+
import * as httpm from '@actions/http-client';
|
|
19
|
+
import { jwtDecode } from 'jwt-decode';
|
|
20
|
+
export class GitHub {
|
|
21
|
+
githubToken;
|
|
22
|
+
octokit;
|
|
23
|
+
constructor(opts) {
|
|
24
|
+
this.githubToken = opts?.token || process.env.GITHUB_TOKEN;
|
|
25
|
+
this.octokit = github.getOctokit(`${this.githubToken}`);
|
|
26
|
+
}
|
|
27
|
+
repoData() {
|
|
28
|
+
return this.octokit.rest.repos.get({ ...github.context.repo }).then(response => response.data);
|
|
29
|
+
}
|
|
30
|
+
async releases(name, opts) {
|
|
31
|
+
let releases;
|
|
32
|
+
try {
|
|
33
|
+
// try without token first
|
|
34
|
+
releases = await this.releasesRaw(name, opts);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
if (!this.githubToken) {
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
// try with token
|
|
41
|
+
releases = await this.releasesRaw(name, opts, this.githubToken);
|
|
42
|
+
}
|
|
43
|
+
return releases;
|
|
44
|
+
}
|
|
45
|
+
async releasesRaw(name, opts, token) {
|
|
46
|
+
const url = `https://raw.githubusercontent.com/${opts.owner}/${opts.repo}/${opts.ref}/${opts.path}`;
|
|
47
|
+
const http = new httpm.HttpClient('docker-actions-toolkit');
|
|
48
|
+
// prettier-ignore
|
|
49
|
+
const httpResp = await http.get(url, token ? {
|
|
50
|
+
Authorization: `token ${token}`
|
|
51
|
+
} : undefined);
|
|
52
|
+
const dt = await httpResp.readBody();
|
|
53
|
+
const statusCode = httpResp.message.statusCode || 500;
|
|
54
|
+
if (statusCode >= 400) {
|
|
55
|
+
throw new Error(`Failed to get ${name} releases from ${url} with status code ${statusCode}: ${dt}`);
|
|
56
|
+
}
|
|
57
|
+
return JSON.parse(dt);
|
|
58
|
+
}
|
|
59
|
+
static get context() {
|
|
60
|
+
return github.context;
|
|
61
|
+
}
|
|
62
|
+
static get serverURL() {
|
|
63
|
+
return process.env.GITHUB_SERVER_URL || 'https://github.com';
|
|
64
|
+
}
|
|
65
|
+
static get apiURL() {
|
|
66
|
+
return process.env.GITHUB_API_URL || 'https://api.github.com';
|
|
67
|
+
}
|
|
68
|
+
// Can't use the isGhes() func from @actions/artifact due to @actions/artifact/lib/internal/shared/config
|
|
69
|
+
// being internal since ESM-only packages do not support internal exports.
|
|
70
|
+
// https://github.com/actions/toolkit/blob/8351a5d84d862813d1bb8bdeef87b215f8a946f9/packages/artifact/src/internal/shared/config.ts#L27
|
|
71
|
+
static get isGHES() {
|
|
72
|
+
const ghURL = new URL(GitHub.serverURL);
|
|
73
|
+
const hostname = ghURL.hostname.trimEnd().toUpperCase();
|
|
74
|
+
const isGitHubHost = hostname === 'GITHUB.COM';
|
|
75
|
+
const isGitHubEnterpriseCloudHost = hostname.endsWith('.GHE.COM');
|
|
76
|
+
const isLocalHost = hostname.endsWith('.LOCALHOST');
|
|
77
|
+
return !isGitHubHost && !isGitHubEnterpriseCloudHost && !isLocalHost;
|
|
78
|
+
}
|
|
79
|
+
static get repository() {
|
|
80
|
+
return `${github.context.repo.owner}/${github.context.repo.repo}`;
|
|
81
|
+
}
|
|
82
|
+
static get workspace() {
|
|
83
|
+
return process.env.GITHUB_WORKSPACE || process.cwd();
|
|
84
|
+
}
|
|
85
|
+
static get runId() {
|
|
86
|
+
return process.env.GITHUB_RUN_ID ? +process.env.GITHUB_RUN_ID : github.context.runId;
|
|
87
|
+
}
|
|
88
|
+
static get runAttempt() {
|
|
89
|
+
// TODO: runAttempt is not yet part of github.context but will be in a
|
|
90
|
+
// future release of @actions/github package: https://github.com/actions/toolkit/commit/faa425440f86f9c16587a19dfb59491253a2c92a
|
|
91
|
+
return process.env.GITHUB_RUN_ATTEMPT ? +process.env.GITHUB_RUN_ATTEMPT : 1;
|
|
92
|
+
}
|
|
93
|
+
static workflowRunURL(setAttempts) {
|
|
94
|
+
return `${GitHub.serverURL}/${GitHub.repository}/actions/runs/${GitHub.runId}${setAttempts ? `/attempts/${GitHub.runAttempt}` : ''}`;
|
|
95
|
+
}
|
|
96
|
+
static get actionsRuntimeToken() {
|
|
97
|
+
const token = process.env['ACTIONS_RUNTIME_TOKEN'] || '';
|
|
98
|
+
return token ? jwtDecode(token) : undefined;
|
|
99
|
+
}
|
|
100
|
+
static async printActionsRuntimeTokenACs() {
|
|
101
|
+
let jwt;
|
|
102
|
+
try {
|
|
103
|
+
jwt = GitHub.actionsRuntimeToken;
|
|
104
|
+
}
|
|
105
|
+
catch (e) {
|
|
106
|
+
throw new Error(`Cannot parse GitHub Actions Runtime Token: ${e.message}`);
|
|
107
|
+
}
|
|
108
|
+
if (!jwt) {
|
|
109
|
+
throw new Error(`ACTIONS_RUNTIME_TOKEN not set`);
|
|
110
|
+
}
|
|
111
|
+
try {
|
|
112
|
+
JSON.parse(`${jwt.ac}`).forEach(ac => {
|
|
113
|
+
let permission;
|
|
114
|
+
switch (ac.Permission) {
|
|
115
|
+
case 1:
|
|
116
|
+
permission = 'read';
|
|
117
|
+
break;
|
|
118
|
+
case 2:
|
|
119
|
+
permission = 'write';
|
|
120
|
+
break;
|
|
121
|
+
case 3:
|
|
122
|
+
permission = 'read/write';
|
|
123
|
+
break;
|
|
124
|
+
default:
|
|
125
|
+
permission = `unimplemented (${ac.Permission})`;
|
|
126
|
+
}
|
|
127
|
+
core.info(`${ac.Scope}: ${permission}`);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
catch (e) {
|
|
131
|
+
throw new Error(`Cannot parse GitHub Actions Runtime Token ACs: ${e.message}`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=github.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/github/github.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2026 actions-toolkit authors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { BuildSummaryOpts } from '../types/github/summary.js';
|
|
17
|
+
export declare class GitHubSummary {
|
|
18
|
+
static writeBuildSummary(opts: BuildSummaryOpts): Promise<void>;
|
|
19
|
+
private static formatDBCBuildURL;
|
|
20
|
+
}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2026 actions-toolkit authors
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import he from 'he';
|
|
17
|
+
import { dump as yamldump } from 'js-yaml';
|
|
18
|
+
import os from 'os';
|
|
19
|
+
import * as core from '@actions/core';
|
|
20
|
+
import { GitHub } from './github.js';
|
|
21
|
+
import { Util } from '../util.js';
|
|
22
|
+
export class GitHubSummary {
|
|
23
|
+
static async writeBuildSummary(opts) {
|
|
24
|
+
// can't use original core.summary.addLink due to the need to make
|
|
25
|
+
// EOL optional
|
|
26
|
+
const addLink = function (text, url, addEOL = false) {
|
|
27
|
+
return `<a href="${url}">${text}</a>` + (addEOL ? os.EOL : '');
|
|
28
|
+
};
|
|
29
|
+
const refsSize = opts.exportRes.refs.length;
|
|
30
|
+
const firstRef = refsSize > 0 ? opts.exportRes.refs?.[0] : undefined;
|
|
31
|
+
const firstSummary = firstRef ? opts.exportRes.summaries?.[firstRef] : undefined;
|
|
32
|
+
const dbcAccount = opts.driver === 'cloud' && opts.endpoint ? opts.endpoint?.replace(/^cloud:\/\//, '').split('/')[0] : undefined;
|
|
33
|
+
const sum = core.summary.addHeading('Docker Build summary', 2);
|
|
34
|
+
if (dbcAccount && refsSize === 1 && firstRef && firstSummary) {
|
|
35
|
+
const buildURL = GitHubSummary.formatDBCBuildURL(dbcAccount, firstRef, firstSummary.defaultPlatform);
|
|
36
|
+
// prettier-ignore
|
|
37
|
+
sum.addRaw(`<p>`)
|
|
38
|
+
.addRaw(`For a detailed look at the build, you can check the results at:`)
|
|
39
|
+
.addRaw('</p>')
|
|
40
|
+
.addRaw(`<p>`)
|
|
41
|
+
.addRaw(`:whale: ${addLink(`<strong>${buildURL}</strong>`, buildURL)}`)
|
|
42
|
+
.addRaw(`</p>`);
|
|
43
|
+
}
|
|
44
|
+
if (opts.uploadRes) {
|
|
45
|
+
// we just need the last two parts of the URL as they are always relative
|
|
46
|
+
// to the workflow run URL otherwise URL could be broken if GitHub
|
|
47
|
+
// repository name is part of a secret value used in the workflow. e.g.:
|
|
48
|
+
// artifact: https://github.com/docker/actions-toolkit/actions/runs/9552208295/artifacts/1609622746
|
|
49
|
+
// workflow: https://github.com/docker/actions-toolkit/actions/runs/9552208295
|
|
50
|
+
// https://github.com/docker/actions-toolkit/issues/367
|
|
51
|
+
const artifactRelativeURL = `./${GitHub.runId}/${opts.uploadRes.url.split('/').slice(-2).join('/')}`;
|
|
52
|
+
if (dbcAccount && refsSize === 1) {
|
|
53
|
+
// prettier-ignore
|
|
54
|
+
sum.addRaw(`<p>`)
|
|
55
|
+
.addRaw(`You can also download the following build record archive and import it into Docker Desktop's Builds view. `)
|
|
56
|
+
.addBreak()
|
|
57
|
+
.addRaw(`Build records include details such as timing, dependencies, results, logs, traces, and other information about a build. `)
|
|
58
|
+
.addRaw(addLink('Learn more', 'https://www.docker.com/blog/new-beta-feature-deep-dive-into-github-actions-docker-builds-with-docker-desktop/?utm_source=github&utm_medium=actions'))
|
|
59
|
+
.addRaw('</p>');
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
// prettier-ignore
|
|
63
|
+
sum.addRaw(`<p>`)
|
|
64
|
+
.addRaw(`For a detailed look at the build, download the following build record archive and import it into Docker Desktop's Builds view. `)
|
|
65
|
+
.addBreak()
|
|
66
|
+
.addRaw(`Build records include details such as timing, dependencies, results, logs, traces, and other information about a build. `)
|
|
67
|
+
.addRaw(addLink('Learn more', 'https://www.docker.com/blog/new-beta-feature-deep-dive-into-github-actions-docker-builds-with-docker-desktop/?utm_source=github&utm_medium=actions'))
|
|
68
|
+
.addRaw('</p>');
|
|
69
|
+
}
|
|
70
|
+
// prettier-ignore
|
|
71
|
+
sum.addRaw(`<p>`)
|
|
72
|
+
.addRaw(`:arrow_down: ${addLink(`<strong>${Util.stringToUnicodeEntities(opts.uploadRes.filename)}</strong>`, artifactRelativeURL)} (${Util.formatFileSize(opts.uploadRes.size)} - includes <strong>${refsSize} build record${refsSize > 1 ? 's' : ''}</strong>)`)
|
|
73
|
+
.addRaw(`</p>`);
|
|
74
|
+
}
|
|
75
|
+
else if (opts.exportRes.summaries) {
|
|
76
|
+
// prettier-ignore
|
|
77
|
+
sum.addRaw(`<p>`)
|
|
78
|
+
.addRaw(`The following table provides a brief summary of your build.`)
|
|
79
|
+
.addBreak()
|
|
80
|
+
.addRaw(`For a detailed look at the build, including timing, dependencies, results, logs, traces, and other information, consider enabling the export of the build record so you can import it into Docker Desktop's Builds view. `)
|
|
81
|
+
.addRaw(addLink('Learn more', 'https://www.docker.com/blog/new-beta-feature-deep-dive-into-github-actions-docker-builds-with-docker-desktop/?utm_source=github&utm_medium=actions'))
|
|
82
|
+
.addRaw(`</p>`);
|
|
83
|
+
}
|
|
84
|
+
// Feedback survey
|
|
85
|
+
sum.addRaw(`<p>`).addRaw(`Find this useful? `).addRaw(addLink('Let us know', 'https://docs.docker.com/feedback/gha-build-summary')).addRaw('</p>');
|
|
86
|
+
if (opts.exportRes.summaries) {
|
|
87
|
+
// Preview
|
|
88
|
+
sum.addRaw('<p>');
|
|
89
|
+
const summaryTableData = [
|
|
90
|
+
// prettier-ignore
|
|
91
|
+
[
|
|
92
|
+
{ header: true, data: 'ID' },
|
|
93
|
+
{ header: true, data: 'Name' },
|
|
94
|
+
{ header: true, data: 'Status' },
|
|
95
|
+
{ header: true, data: 'Cached' },
|
|
96
|
+
{ header: true, data: 'Duration' },
|
|
97
|
+
...(dbcAccount && refsSize > 1 ? [{ header: true, data: 'Build result URL' }] : [])
|
|
98
|
+
]
|
|
99
|
+
];
|
|
100
|
+
let buildError;
|
|
101
|
+
for (const ref in opts.exportRes.summaries) {
|
|
102
|
+
if (Object.prototype.hasOwnProperty.call(opts.exportRes.summaries, ref)) {
|
|
103
|
+
const summary = opts.exportRes.summaries[ref];
|
|
104
|
+
// prettier-ignore
|
|
105
|
+
summaryTableData.push([
|
|
106
|
+
{ data: `<code>${ref.substring(0, 6).toUpperCase()}</code>` },
|
|
107
|
+
{ data: `<strong>${Util.stringToUnicodeEntities(summary.name)}</strong>` },
|
|
108
|
+
{ data: `${summary.status === 'completed' ? ':white_check_mark:' : summary.status === 'canceled' ? ':no_entry_sign:' : ':x:'} ${summary.status}` },
|
|
109
|
+
{ data: `${summary.numCachedSteps > 0 ? Math.round((summary.numCachedSteps / summary.numTotalSteps) * 100) : 0}%` },
|
|
110
|
+
{ data: summary.duration },
|
|
111
|
+
...(dbcAccount && refsSize > 1 ? [{ data: addLink(':whale: Open', GitHubSummary.formatDBCBuildURL(dbcAccount, ref, summary.defaultPlatform)) }] : [])
|
|
112
|
+
]);
|
|
113
|
+
if (summary.error) {
|
|
114
|
+
buildError = summary.error;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
sum.addTable([...summaryTableData]);
|
|
119
|
+
sum.addRaw(`</p>`);
|
|
120
|
+
// Build error
|
|
121
|
+
if (buildError) {
|
|
122
|
+
sum.addRaw(`<blockquote>`);
|
|
123
|
+
if (Util.countLines(buildError) > 10) {
|
|
124
|
+
// prettier-ignore
|
|
125
|
+
sum
|
|
126
|
+
.addRaw(`<details><summary><strong>Error</strong></summary>`)
|
|
127
|
+
.addCodeBlock(he.encode(buildError), 'text')
|
|
128
|
+
.addRaw(`</details>`);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
// prettier-ignore
|
|
132
|
+
sum
|
|
133
|
+
.addRaw(`<strong>Error</strong>`)
|
|
134
|
+
.addBreak()
|
|
135
|
+
.addRaw(`<p>`)
|
|
136
|
+
.addCodeBlock(he.encode(buildError), 'text')
|
|
137
|
+
.addRaw(`</p>`);
|
|
138
|
+
}
|
|
139
|
+
sum.addRaw(`</blockquote>`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Build inputs
|
|
143
|
+
if (opts.inputs) {
|
|
144
|
+
// prettier-ignore
|
|
145
|
+
sum.addRaw(`<details><summary><strong>Build inputs</strong></summary>`)
|
|
146
|
+
.addCodeBlock(yamldump(opts.inputs, {
|
|
147
|
+
indent: 2,
|
|
148
|
+
lineWidth: -1
|
|
149
|
+
}), 'yaml')
|
|
150
|
+
.addRaw(`</details>`);
|
|
151
|
+
}
|
|
152
|
+
// Bake definition
|
|
153
|
+
if (opts.bakeDefinition) {
|
|
154
|
+
// prettier-ignore
|
|
155
|
+
sum.addRaw(`<details><summary><strong>Bake definition</strong></summary>`)
|
|
156
|
+
.addCodeBlock(JSON.stringify(opts.bakeDefinition, null, 2), 'json')
|
|
157
|
+
.addRaw(`</details>`);
|
|
158
|
+
}
|
|
159
|
+
core.info(`Writing summary`);
|
|
160
|
+
await sum.addSeparator().write();
|
|
161
|
+
}
|
|
162
|
+
static formatDBCBuildURL(account, ref, platform) {
|
|
163
|
+
return `https://app.docker.com/build/accounts/${account}/builds/${(platform ?? 'linux/amd64').replace('/', '-')}/${ref}`;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/github/summary.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Copyright 2023 actions-toolkit authors
|
|
4
3
|
*
|
|
@@ -14,52 +13,8 @@
|
|
|
14
13
|
* See the License for the specific language governing permissions and
|
|
15
14
|
* limitations under the License.
|
|
16
15
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
-
}
|
|
23
|
-
Object.defineProperty(o, k2, desc);
|
|
24
|
-
}) : (function(o, m, k, k2) {
|
|
25
|
-
if (k2 === undefined) k2 = k;
|
|
26
|
-
o[k2] = m[k];
|
|
27
|
-
}));
|
|
28
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
-
}) : function(o, v) {
|
|
31
|
-
o["default"] = v;
|
|
32
|
-
});
|
|
33
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
34
|
-
var ownKeys = function(o) {
|
|
35
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
36
|
-
var ar = [];
|
|
37
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
38
|
-
return ar;
|
|
39
|
-
};
|
|
40
|
-
return ownKeys(o);
|
|
41
|
-
};
|
|
42
|
-
return function (mod) {
|
|
43
|
-
if (mod && mod.__esModule) return mod;
|
|
44
|
-
var result = {};
|
|
45
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
46
|
-
__setModuleDefault(result, mod);
|
|
47
|
-
return result;
|
|
48
|
-
};
|
|
49
|
-
})();
|
|
50
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
51
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
52
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
53
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
54
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
55
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
56
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
|
-
exports.run = run;
|
|
61
|
-
const core = __importStar(require("@actions/core"));
|
|
62
|
-
const cache_1 = require("./cache");
|
|
16
|
+
import * as core from '@actions/core';
|
|
17
|
+
import { Cache } from './cache.js';
|
|
63
18
|
const isPost = !!process.env['STATE_isPost'];
|
|
64
19
|
if (!isPost) {
|
|
65
20
|
core.saveState('isPost', 'true');
|
|
@@ -72,24 +27,22 @@ if (!isPost) {
|
|
|
72
27
|
* @param post runs the defined function at the end of the job if set.
|
|
73
28
|
* @returns Promise<void>
|
|
74
29
|
*/
|
|
75
|
-
function run(main, post) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
core.setFailed(e.message);
|
|
83
|
-
}
|
|
30
|
+
export async function run(main, post) {
|
|
31
|
+
if (!isPost) {
|
|
32
|
+
try {
|
|
33
|
+
await main();
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
core.setFailed(e.message);
|
|
84
37
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
yield core.group(`Post cache`, () => __awaiter(this, void 0, void 0, function* () {
|
|
90
|
-
yield cache_1.Cache.post();
|
|
91
|
-
}));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
if (post) {
|
|
41
|
+
await post();
|
|
92
42
|
}
|
|
93
|
-
|
|
43
|
+
await core.group(`Post cache`, async () => {
|
|
44
|
+
await Cache.post();
|
|
45
|
+
});
|
|
46
|
+
}
|
|
94
47
|
}
|
|
95
48
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEjC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;IACZ,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAyB,EAAE,IAA0B;IAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;YACxC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
package/lib/oci/oci.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Archive, LoadArchiveOpts } from '../types/oci/oci';
|
|
2
|
-
import { Platform } from '../types/oci/descriptor';
|
|
1
|
+
import { Archive, LoadArchiveOpts } from '../types/oci/oci.js';
|
|
2
|
+
import { Platform } from '../types/oci/descriptor.js';
|
|
3
3
|
export declare class OCI {
|
|
4
4
|
static defaultPlatform(): Platform;
|
|
5
5
|
static loadArchive(opts: LoadArchiveOpts): Promise<Archive>;
|