@docker/actions-toolkit 0.75.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.
Files changed (184) hide show
  1. package/lib/buildkit/buildkit.d.ts +3 -3
  2. package/lib/buildkit/buildkit.js +67 -117
  3. package/lib/buildkit/buildkit.js.map +1 -1
  4. package/lib/buildkit/config.js +7 -14
  5. package/lib/buildkit/config.js.map +1 -1
  6. package/lib/buildkit/git.d.ts +1 -1
  7. package/lib/buildkit/git.js +8 -12
  8. package/lib/buildkit/git.js.map +1 -1
  9. package/lib/buildx/bake.d.ts +4 -4
  10. package/lib/buildx/bake.js +76 -93
  11. package/lib/buildx/bake.js.map +1 -1
  12. package/lib/buildx/build.d.ts +5 -5
  13. package/lib/buildx/build.js +44 -78
  14. package/lib/buildx/build.js.map +1 -1
  15. package/lib/buildx/builder.d.ts +2 -2
  16. package/lib/buildx/builder.js +42 -91
  17. package/lib/buildx/builder.js.map +1 -1
  18. package/lib/buildx/buildx.d.ts +3 -3
  19. package/lib/buildx/buildx.js +212 -274
  20. package/lib/buildx/buildx.js.map +1 -1
  21. package/lib/buildx/history.d.ts +2 -2
  22. package/lib/buildx/history.js +226 -284
  23. package/lib/buildx/history.js.map +1 -1
  24. package/lib/buildx/imagetools.d.ts +5 -5
  25. package/lib/buildx/imagetools.js +67 -92
  26. package/lib/buildx/imagetools.js.map +1 -1
  27. package/lib/buildx/install.d.ts +14 -3
  28. package/lib/buildx/install.js +239 -276
  29. package/lib/buildx/install.js.map +1 -1
  30. package/lib/cache.js +88 -138
  31. package/lib/cache.js.map +1 -1
  32. package/lib/compose/compose.js +53 -107
  33. package/lib/compose/compose.js.map +1 -1
  34. package/lib/compose/install.d.ts +2 -2
  35. package/lib/compose/install.js +129 -191
  36. package/lib/compose/install.js.map +1 -1
  37. package/lib/context.js +10 -50
  38. package/lib/context.js.map +1 -1
  39. package/lib/cosign/cosign.js +55 -106
  40. package/lib/cosign/cosign.js.map +1 -1
  41. package/lib/cosign/dockerfile.js +1 -4
  42. package/lib/cosign/dockerfile.js.map +1 -1
  43. package/lib/cosign/install.d.ts +6 -3
  44. package/lib/cosign/install.js +183 -261
  45. package/lib/cosign/install.js.map +1 -1
  46. package/lib/docker/assets.js +15 -24
  47. package/lib/docker/assets.js.map +1 -1
  48. package/lib/docker/docker.d.ts +1 -1
  49. package/lib/docker/docker.js +112 -182
  50. package/lib/docker/docker.js.map +1 -1
  51. package/lib/docker/install.d.ts +3 -3
  52. package/lib/docker/install.js +543 -617
  53. package/lib/docker/install.js.map +1 -1
  54. package/lib/dockerhub.d.ts +1 -1
  55. package/lib/dockerhub.js +67 -125
  56. package/lib/dockerhub.js.map +1 -1
  57. package/lib/exec.js +9 -59
  58. package/lib/exec.js.map +1 -1
  59. package/lib/git.d.ts +2 -1
  60. package/lib/git.js +144 -220
  61. package/lib/git.js.map +1 -1
  62. package/lib/github/artifact.d.ts +19 -0
  63. package/lib/github/artifact.js +49 -0
  64. package/lib/github/artifact.js.map +1 -0
  65. package/lib/{github.d.ts → github/github.d.ts} +4 -8
  66. package/lib/github/github.js +135 -0
  67. package/lib/github/github.js.map +1 -0
  68. package/lib/github/summary.d.ts +20 -0
  69. package/lib/github/summary.js +166 -0
  70. package/lib/github/summary.js.map +1 -0
  71. package/lib/index.js +17 -64
  72. package/lib/index.js.map +1 -1
  73. package/lib/oci/oci.d.ts +2 -2
  74. package/lib/oci/oci.js +52 -104
  75. package/lib/oci/oci.js.map +1 -1
  76. package/lib/regclient/install.d.ts +2 -2
  77. package/lib/regclient/install.js +83 -141
  78. package/lib/regclient/install.js.map +1 -1
  79. package/lib/regclient/regctl.d.ts +1 -1
  80. package/lib/regclient/regctl.js +67 -123
  81. package/lib/regclient/regctl.js.map +1 -1
  82. package/lib/sigstore/sigstore.d.ts +5 -3
  83. package/lib/sigstore/sigstore.js +361 -344
  84. package/lib/sigstore/sigstore.js.map +1 -1
  85. package/lib/toolkit.d.ts +16 -16
  86. package/lib/toolkit.js +49 -37
  87. package/lib/toolkit.js.map +1 -1
  88. package/lib/types/buildkit/buildkit.js +1 -4
  89. package/lib/types/buildkit/buildkit.js.map +1 -1
  90. package/lib/types/buildkit/client.d.ts +2 -2
  91. package/lib/types/buildkit/client.js +1 -2
  92. package/lib/types/buildkit/client.js.map +1 -1
  93. package/lib/types/buildkit/control.d.ts +4 -4
  94. package/lib/types/buildkit/control.js +1 -2
  95. package/lib/types/buildkit/control.js.map +1 -1
  96. package/lib/types/buildkit/git.js +1 -2
  97. package/lib/types/buildkit/git.js.map +1 -1
  98. package/lib/types/buildkit/ops.js +1 -2
  99. package/lib/types/buildkit/ops.js.map +1 -1
  100. package/lib/types/buildkit/rpc.js +1 -2
  101. package/lib/types/buildkit/rpc.js.map +1 -1
  102. package/lib/types/buildx/bake.js +1 -2
  103. package/lib/types/buildx/bake.js.map +1 -1
  104. package/lib/types/buildx/build.js +1 -2
  105. package/lib/types/buildx/build.js.map +1 -1
  106. package/lib/types/buildx/builder.js +1 -2
  107. package/lib/types/buildx/builder.js.map +1 -1
  108. package/lib/types/buildx/buildx.d.ts +1 -1
  109. package/lib/types/buildx/buildx.js +1 -2
  110. package/lib/types/buildx/buildx.js.map +1 -1
  111. package/lib/types/buildx/history.js +1 -2
  112. package/lib/types/buildx/history.js.map +1 -1
  113. package/lib/types/buildx/imagetools.d.ts +3 -3
  114. package/lib/types/buildx/imagetools.js +1 -2
  115. package/lib/types/buildx/imagetools.js.map +1 -1
  116. package/lib/types/compose/compose.d.ts +1 -1
  117. package/lib/types/compose/compose.js +1 -2
  118. package/lib/types/compose/compose.js.map +1 -1
  119. package/lib/types/cosign/cosign.d.ts +1 -1
  120. package/lib/types/cosign/cosign.js +1 -2
  121. package/lib/types/cosign/cosign.js.map +1 -1
  122. package/lib/types/docker/docker.js +1 -2
  123. package/lib/types/docker/docker.js.map +1 -1
  124. package/lib/types/docker/mediatype.js +3 -6
  125. package/lib/types/docker/mediatype.js.map +1 -1
  126. package/lib/types/dockerhub.js +1 -2
  127. package/lib/types/dockerhub.js.map +1 -1
  128. package/lib/types/github/artifact.d.ts +26 -0
  129. package/lib/types/{git.d.ts → github/artifact.js} +3 -3
  130. package/lib/types/github/artifact.js.map +1 -0
  131. package/lib/types/{github.d.ts → github/github.d.ts} +4 -23
  132. package/lib/types/{git.js → github/github.js} +2 -3
  133. package/lib/types/github/github.js.map +1 -0
  134. package/lib/types/github/summary.d.ts +29 -0
  135. package/lib/types/{github.js → github/summary.js} +3 -4
  136. package/lib/types/github/summary.js.map +1 -0
  137. package/lib/types/intoto/intoto.js +2 -5
  138. package/lib/types/intoto/intoto.js.map +1 -1
  139. package/lib/types/intoto/slsa_provenance/v0.2/provenance.js +1 -4
  140. package/lib/types/intoto/slsa_provenance/v0.2/provenance.js.map +1 -1
  141. package/lib/types/oci/config.d.ts +2 -2
  142. package/lib/types/oci/config.js +1 -2
  143. package/lib/types/oci/config.js.map +1 -1
  144. package/lib/types/oci/descriptor.d.ts +1 -1
  145. package/lib/types/oci/descriptor.js +3 -6
  146. package/lib/types/oci/descriptor.js.map +1 -1
  147. package/lib/types/oci/digest.js +1 -2
  148. package/lib/types/oci/digest.js.map +1 -1
  149. package/lib/types/oci/index.d.ts +2 -2
  150. package/lib/types/oci/index.js +1 -2
  151. package/lib/types/oci/index.js.map +1 -1
  152. package/lib/types/oci/layout.js +4 -7
  153. package/lib/types/oci/layout.js.map +1 -1
  154. package/lib/types/oci/manifest.d.ts +2 -2
  155. package/lib/types/oci/manifest.js +1 -2
  156. package/lib/types/oci/manifest.js.map +1 -1
  157. package/lib/types/oci/mediatype.js +6 -9
  158. package/lib/types/oci/mediatype.js.map +1 -1
  159. package/lib/types/oci/oci.d.ts +4 -4
  160. package/lib/types/oci/oci.js +1 -2
  161. package/lib/types/oci/oci.js.map +1 -1
  162. package/lib/types/oci/versioned.js +1 -2
  163. package/lib/types/oci/versioned.js.map +1 -1
  164. package/lib/types/regclient/regclient.d.ts +1 -1
  165. package/lib/types/regclient/regclient.js +1 -2
  166. package/lib/types/regclient/regclient.js.map +1 -1
  167. package/lib/types/sigstore/sigstore.d.ts +11 -2
  168. package/lib/types/sigstore/sigstore.js +4 -7
  169. package/lib/types/sigstore/sigstore.js.map +1 -1
  170. package/lib/types/undock/undock.d.ts +1 -1
  171. package/lib/types/undock/undock.js +1 -2
  172. package/lib/types/undock/undock.js.map +1 -1
  173. package/lib/undock/install.d.ts +2 -2
  174. package/lib/undock/install.js +93 -151
  175. package/lib/undock/install.js.map +1 -1
  176. package/lib/undock/undock.js +88 -141
  177. package/lib/undock/undock.js.map +1 -1
  178. package/lib/util.js +36 -89
  179. package/lib/util.js.map +1 -1
  180. package/package.json +31 -42
  181. package/lib/github.js +0 -421
  182. package/lib/github.js.map +0 -1
  183. package/lib/types/git.js.map +0 -1
  184. package/lib/types/github.js.map +0 -1
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * Copyright 2023 actions-toolkit authors
4
3
  *
@@ -14,72 +13,32 @@
14
13
  * See the License for the specific language governing permissions and
15
14
  * limitations under the License.
16
15
  */
17
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
60
- return (mod && mod.__esModule) ? mod : { "default": mod };
61
- };
62
- Object.defineProperty(exports, "__esModule", { value: true });
63
- exports.Install = void 0;
64
- const fs_1 = __importDefault(require("fs"));
65
- const os_1 = __importDefault(require("os"));
66
- const path_1 = __importDefault(require("path"));
67
- const core = __importStar(require("@actions/core"));
68
- const tc = __importStar(require("@actions/tool-cache"));
69
- const semver = __importStar(require("semver"));
70
- const util = __importStar(require("util"));
71
- const buildx_1 = require("./buildx");
72
- const cache_1 = require("../cache");
73
- const context_1 = require("../context");
74
- const exec_1 = require("../exec");
75
- const docker_1 = require("../docker/docker");
76
- const git_1 = require("../git");
77
- const github_1 = require("../github");
78
- const util_1 = require("../util");
79
- class Install {
16
+ import fs from 'fs';
17
+ import os from 'os';
18
+ import path from 'path';
19
+ import * as core from '@actions/core';
20
+ import * as httpm from '@actions/http-client';
21
+ import * as tc from '@actions/tool-cache';
22
+ import * as semver from 'semver';
23
+ import * as util from 'util';
24
+ import { Buildx } from './buildx.js';
25
+ import { Cache } from '../cache.js';
26
+ import { Context } from '../context.js';
27
+ import { Exec } from '../exec.js';
28
+ import { Docker } from '../docker/docker.js';
29
+ import { Git } from '../git.js';
30
+ import { GitHub } from '../github/github.js';
31
+ import { Sigstore } from '../sigstore/sigstore.js';
32
+ import { Util } from '../util.js';
33
+ import { SEARCH_URL } from '../types/sigstore/sigstore.js';
34
+ export class Install {
35
+ standalone;
36
+ githubToken;
37
+ sigstore;
80
38
  constructor(opts) {
81
- this.standalone = opts === null || opts === void 0 ? void 0 : opts.standalone;
82
- this.githubToken = (opts === null || opts === void 0 ? void 0 : opts.githubToken) || process.env.GITHUB_TOKEN;
39
+ this.standalone = opts?.standalone;
40
+ this.githubToken = opts?.githubToken || process.env.GITHUB_TOKEN;
41
+ this.sigstore = opts?.sigstore || new Sigstore();
83
42
  }
84
43
  /*
85
44
  * Download buildx binary from GitHub release
@@ -87,38 +46,39 @@ class Install {
87
46
  * @param ghaNoCache: disable binary caching in GitHub Actions cache backend
88
47
  * @returns path to the buildx binary
89
48
  */
90
- download(v, ghaNoCache) {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- const version = yield Install.getDownloadVersion(v);
93
- core.debug(`Install.download version: ${version.version}`);
94
- const release = yield Install.getRelease(version, this.githubToken);
95
- core.debug(`Install.download release tag name: ${release.tag_name}`);
96
- const vspec = yield this.vspec(release.tag_name);
97
- core.debug(`Install.download vspec: ${vspec}`);
98
- const c = semver.clean(vspec) || '';
99
- if (!semver.valid(c)) {
100
- throw new Error(`Invalid Buildx version "${vspec}".`);
101
- }
102
- const installCache = new cache_1.Cache({
103
- htcName: version.key != 'official' ? `buildx-dl-bin-${version.key}` : 'buildx-dl-bin',
104
- htcVersion: vspec,
105
- baseCacheDir: path_1.default.join(buildx_1.Buildx.configDir, '.bin'),
106
- cacheFile: os_1.default.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx',
107
- ghaNoCache: ghaNoCache
108
- });
109
- const cacheFoundPath = yield installCache.find();
110
- if (cacheFoundPath) {
111
- core.info(`Buildx binary found in ${cacheFoundPath}`);
112
- return cacheFoundPath;
113
- }
114
- const downloadURL = util.format(version.downloadURL, vspec, this.filename(vspec));
115
- core.info(`Downloading ${downloadURL}`);
116
- const htcDownloadPath = yield tc.downloadTool(downloadURL, undefined, this.githubToken);
117
- core.debug(`Install.download htcDownloadPath: ${htcDownloadPath}`);
118
- const cacheSavePath = yield installCache.save(htcDownloadPath);
119
- core.info(`Cached to ${cacheSavePath}`);
120
- return cacheSavePath;
49
+ async download(opts) {
50
+ const version = await Install.getDownloadVersion(opts.version);
51
+ core.debug(`Install.download version: ${version.version}`);
52
+ const release = await Install.getRelease(version, this.githubToken);
53
+ core.debug(`Install.download release tag name: ${release.tag_name}`);
54
+ const vspec = await this.vspec(release.tag_name);
55
+ core.debug(`Install.download vspec: ${vspec}`);
56
+ const c = semver.clean(vspec) || '';
57
+ if (!semver.valid(c)) {
58
+ throw new Error(`Invalid Buildx version "${vspec}".`);
59
+ }
60
+ const installCache = new Cache({
61
+ htcName: version.key != 'official' ? `buildx-dl-bin-${version.key}` : 'buildx-dl-bin',
62
+ htcVersion: vspec,
63
+ baseCacheDir: path.join(Buildx.configDir, '.bin'),
64
+ cacheFile: os.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx',
65
+ ghaNoCache: opts.ghaNoCache
121
66
  });
67
+ const cacheFoundPath = await installCache.find();
68
+ if (!opts.disableHtc && cacheFoundPath) {
69
+ core.info(`Buildx binary found in ${cacheFoundPath}`);
70
+ return cacheFoundPath;
71
+ }
72
+ const downloadURL = util.format(version.downloadURL, vspec, this.filename(vspec));
73
+ core.info(`Downloading ${downloadURL}`);
74
+ const htcDownloadPath = await tc.downloadTool(downloadURL, undefined, this.githubToken);
75
+ core.debug(`Install.download htcDownloadPath: ${htcDownloadPath}`);
76
+ if (opts.verifySignature && semver.satisfies(vspec, '>=0.31.0-0', { includePrerelease: true })) {
77
+ await this.verifySignature(htcDownloadPath, downloadURL);
78
+ }
79
+ const cacheSavePath = await installCache.save(htcDownloadPath, opts.skipState);
80
+ core.info(`Cached to ${cacheSavePath}`);
81
+ return cacheSavePath;
122
82
  }
123
83
  /*
124
84
  * Build buildx binary from source
@@ -126,118 +86,128 @@ class Install {
126
86
  * @param ghaNoCache: disable binary caching in GitHub Actions cache backend
127
87
  * @returns path to the buildx binary
128
88
  */
129
- build(gitContext, ghaNoCache) {
130
- return __awaiter(this, void 0, void 0, function* () {
131
- const vspec = yield this.vspec(gitContext);
132
- core.debug(`Install.build vspec: ${vspec}`);
133
- const installCache = new cache_1.Cache({
134
- htcName: 'buildx-build-bin',
135
- htcVersion: vspec,
136
- baseCacheDir: path_1.default.join(buildx_1.Buildx.configDir, '.bin'),
137
- cacheFile: os_1.default.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx',
138
- ghaNoCache: ghaNoCache
139
- });
140
- const cacheFoundPath = yield installCache.find();
141
- if (cacheFoundPath) {
142
- core.info(`Buildx binary found in ${cacheFoundPath}`);
143
- return cacheFoundPath;
144
- }
145
- const outputDir = path_1.default.join(context_1.Context.tmpDir(), 'buildx-build-cache');
146
- const buildCmd = yield this.buildCommand(gitContext, outputDir);
147
- const buildBinPath = yield exec_1.Exec.getExecOutput(buildCmd.command, buildCmd.args, {
148
- ignoreReturnCode: true
149
- }).then(res => {
150
- var _a, _b, _c;
151
- if (res.stderr.length > 0 && res.exitCode != 0) {
152
- throw new Error(`build failed with: ${(_c = (_b = (_a = res.stderr.match(/(.*)\s*$/)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.trim()) !== null && _c !== void 0 ? _c : 'unknown error'}`);
153
- }
154
- return `${outputDir}/buildx`;
155
- });
156
- const cacheSavePath = yield installCache.save(buildBinPath);
157
- core.info(`Cached to ${cacheSavePath}`);
158
- return cacheSavePath;
89
+ async build(gitContext, ghaNoCache) {
90
+ const vspec = await this.vspec(gitContext);
91
+ core.debug(`Install.build vspec: ${vspec}`);
92
+ const installCache = new Cache({
93
+ htcName: 'buildx-build-bin',
94
+ htcVersion: vspec,
95
+ baseCacheDir: path.join(Buildx.configDir, '.bin'),
96
+ cacheFile: os.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx',
97
+ ghaNoCache: ghaNoCache
159
98
  });
160
- }
161
- installStandalone(binPath, dest) {
162
- return __awaiter(this, void 0, void 0, function* () {
163
- core.info('Standalone mode');
164
- dest = dest || context_1.Context.tmpDir();
165
- const binDir = path_1.default.join(dest, 'buildx-bin-standalone');
166
- if (!fs_1.default.existsSync(binDir)) {
167
- fs_1.default.mkdirSync(binDir, { recursive: true });
99
+ const cacheFoundPath = await installCache.find();
100
+ if (cacheFoundPath) {
101
+ core.info(`Buildx binary found in ${cacheFoundPath}`);
102
+ return cacheFoundPath;
103
+ }
104
+ const outputDir = path.join(Context.tmpDir(), 'buildx-build-cache');
105
+ const buildCmd = await this.buildCommand(gitContext, outputDir);
106
+ const buildBinPath = await Exec.getExecOutput(buildCmd.command, buildCmd.args, {
107
+ ignoreReturnCode: true
108
+ }).then(res => {
109
+ if (res.stderr.length > 0 && res.exitCode != 0) {
110
+ throw new Error(`build failed with: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
168
111
  }
169
- const binName = os_1.default.platform() == 'win32' ? 'buildx.exe' : 'buildx';
170
- const buildxPath = path_1.default.join(binDir, binName);
171
- fs_1.default.copyFileSync(binPath, buildxPath);
172
- core.info('Fixing perms');
173
- fs_1.default.chmodSync(buildxPath, '0755');
174
- core.addPath(binDir);
175
- core.info('Added Buildx to PATH');
176
- core.info(`Binary path: ${buildxPath}`);
177
- return buildxPath;
112
+ return `${outputDir}/buildx`;
178
113
  });
114
+ const cacheSavePath = await installCache.save(buildBinPath);
115
+ core.info(`Cached to ${cacheSavePath}`);
116
+ return cacheSavePath;
179
117
  }
180
- installPlugin(binPath, dest) {
181
- return __awaiter(this, void 0, void 0, function* () {
182
- core.info('Docker plugin mode');
183
- dest = dest || docker_1.Docker.configDir;
184
- const pluginsDir = path_1.default.join(dest, 'cli-plugins');
185
- if (!fs_1.default.existsSync(pluginsDir)) {
186
- fs_1.default.mkdirSync(pluginsDir, { recursive: true });
187
- }
188
- const binName = os_1.default.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
189
- const pluginPath = path_1.default.join(pluginsDir, binName);
190
- fs_1.default.copyFileSync(binPath, pluginPath);
191
- core.info('Fixing perms');
192
- fs_1.default.chmodSync(pluginPath, '0755');
193
- core.info(`Plugin path: ${pluginPath}`);
194
- return pluginPath;
195
- });
118
+ async installStandalone(binPath, dest) {
119
+ core.info('Standalone mode');
120
+ dest = dest || Context.tmpDir();
121
+ const binDir = path.join(dest, 'buildx-bin-standalone');
122
+ if (!fs.existsSync(binDir)) {
123
+ fs.mkdirSync(binDir, { recursive: true });
124
+ }
125
+ const binName = os.platform() == 'win32' ? 'buildx.exe' : 'buildx';
126
+ const buildxPath = path.join(binDir, binName);
127
+ fs.copyFileSync(binPath, buildxPath);
128
+ core.info('Fixing perms');
129
+ fs.chmodSync(buildxPath, '0755');
130
+ core.addPath(binDir);
131
+ core.info('Added Buildx to PATH');
132
+ core.info(`Binary path: ${buildxPath}`);
133
+ return buildxPath;
196
134
  }
197
- buildCommand(gitContext, outputDir) {
198
- return __awaiter(this, void 0, void 0, function* () {
199
- const buildxStandaloneFound = yield new buildx_1.Buildx({ standalone: true }).isAvailable();
200
- const buildxPluginFound = yield new buildx_1.Buildx({ standalone: false }).isAvailable();
201
- let buildStandalone = false;
202
- if ((yield this.isStandalone()) && buildxStandaloneFound) {
203
- core.debug(`Install.buildCommand: Buildx standalone found, build with it`);
204
- buildStandalone = true;
205
- }
206
- else if (!(yield this.isStandalone()) && buildxPluginFound) {
207
- core.debug(`Install.buildCommand: Buildx plugin found, build with it`);
208
- buildStandalone = false;
209
- }
210
- else if (buildxStandaloneFound) {
211
- core.debug(`Install.buildCommand: Buildx plugin not found, but standalone found so trying to build with it`);
212
- buildStandalone = true;
213
- }
214
- else if (buildxPluginFound) {
215
- core.debug(`Install.buildCommand: Buildx standalone not found, but plugin found so trying to build with it`);
216
- buildStandalone = false;
217
- }
218
- else {
219
- throw new Error(`Neither buildx standalone or plugin have been found to build from ref ${gitContext}`);
220
- }
221
- const args = ['build', '--target', 'binaries', '--platform', 'local', '--build-arg', 'BUILDKIT_CONTEXT_KEEP_GIT_DIR=1', '--output', `type=local,dest=${outputDir}`];
222
- if (process.env.GIT_AUTH_TOKEN) {
223
- args.push('--secret', 'id=GIT_AUTH_TOKEN');
224
- }
225
- args.push(gitContext);
226
- //prettier-ignore
227
- return yield new buildx_1.Buildx({ standalone: buildStandalone }).getCommand(args);
228
- });
135
+ async installPlugin(binPath, dest) {
136
+ core.info('Docker plugin mode');
137
+ dest = dest || Docker.configDir;
138
+ const pluginsDir = path.join(dest, 'cli-plugins');
139
+ if (!fs.existsSync(pluginsDir)) {
140
+ fs.mkdirSync(pluginsDir, { recursive: true });
141
+ }
142
+ const binName = os.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
143
+ const pluginPath = path.join(pluginsDir, binName);
144
+ fs.copyFileSync(binPath, pluginPath);
145
+ core.info('Fixing perms');
146
+ fs.chmodSync(pluginPath, '0755');
147
+ core.info(`Plugin path: ${pluginPath}`);
148
+ return pluginPath;
149
+ }
150
+ async buildCommand(gitContext, outputDir) {
151
+ const buildxStandaloneFound = await new Buildx({ standalone: true }).isAvailable();
152
+ const buildxPluginFound = await new Buildx({ standalone: false }).isAvailable();
153
+ let buildStandalone = false;
154
+ if ((await this.isStandalone()) && buildxStandaloneFound) {
155
+ core.debug(`Install.buildCommand: Buildx standalone found, build with it`);
156
+ buildStandalone = true;
157
+ }
158
+ else if (!(await this.isStandalone()) && buildxPluginFound) {
159
+ core.debug(`Install.buildCommand: Buildx plugin found, build with it`);
160
+ buildStandalone = false;
161
+ }
162
+ else if (buildxStandaloneFound) {
163
+ core.debug(`Install.buildCommand: Buildx plugin not found, but standalone found so trying to build with it`);
164
+ buildStandalone = true;
165
+ }
166
+ else if (buildxPluginFound) {
167
+ core.debug(`Install.buildCommand: Buildx standalone not found, but plugin found so trying to build with it`);
168
+ buildStandalone = false;
169
+ }
170
+ else {
171
+ throw new Error(`Neither buildx standalone or plugin have been found to build from ref ${gitContext}`);
172
+ }
173
+ const args = ['build', '--target', 'binaries', '--platform', 'local', '--build-arg', 'BUILDKIT_CONTEXT_KEEP_GIT_DIR=1', '--output', `type=local,dest=${outputDir}`];
174
+ if (process.env.GIT_AUTH_TOKEN) {
175
+ args.push('--secret', 'id=GIT_AUTH_TOKEN');
176
+ }
177
+ args.push(gitContext);
178
+ //prettier-ignore
179
+ return await new Buildx({ standalone: buildStandalone }).getCommand(args);
229
180
  }
230
- isStandalone() {
231
- return __awaiter(this, void 0, void 0, function* () {
232
- var _a;
233
- const standalone = (_a = this.standalone) !== null && _a !== void 0 ? _a : !(yield docker_1.Docker.isAvailable());
234
- core.debug(`Install.isStandalone: ${standalone}`);
235
- return standalone;
181
+ async isStandalone() {
182
+ const standalone = this.standalone ?? !(await Docker.isAvailable());
183
+ core.debug(`Install.isStandalone: ${standalone}`);
184
+ return standalone;
185
+ }
186
+ async verifySignature(binPath, downloadURL) {
187
+ const bundleURL = `${downloadURL.replace(/\.exe$/, '')}.sigstore.json`;
188
+ core.info(`Downloading keyless verification bundle at ${bundleURL}`);
189
+ let bundlePath;
190
+ try {
191
+ bundlePath = await tc.downloadTool(bundleURL, undefined, this.githubToken);
192
+ core.debug(`Install.verifySignature bundlePath: ${bundlePath}`);
193
+ }
194
+ catch (e) {
195
+ if (e.message && e.message.statusCode === httpm.HttpCodes.NotFound) {
196
+ core.info(`No signature bundle found at ${bundleURL}, skipping verification`);
197
+ return;
198
+ }
199
+ throw e;
200
+ }
201
+ const verifyResult = await this.sigstore.verifyArtifact(binPath, bundlePath, {
202
+ // TODO: add githubWorkflowRepository , runnerEnvironment and sourceRepositoryURI extensions when supported by sigstore module
203
+ subjectAlternativeName: /^https:\/\/github\.com\/docker\/(github-builder-experimental|github-builder)\/\.github\/workflows\/bake\.yml.*$/,
204
+ issuer: 'https://token.actions.githubusercontent.com'
236
205
  });
206
+ core.info(`Buildx binary signature verified! ${verifyResult.tlogID ? `${SEARCH_URL}?logIndex=${verifyResult.tlogID}` : ''}`);
237
207
  }
238
208
  filename(version) {
239
209
  let arch;
240
- switch (os_1.default.arch()) {
210
+ switch (os.arch()) {
241
211
  case 'x64': {
242
212
  arch = 'amd64';
243
213
  break;
@@ -253,12 +223,12 @@ class Install {
253
223
  break;
254
224
  }
255
225
  default: {
256
- arch = os_1.default.arch();
226
+ arch = os.arch();
257
227
  break;
258
228
  }
259
229
  }
260
- const platform = os_1.default.platform() == 'win32' ? 'windows' : os_1.default.platform();
261
- const ext = os_1.default.platform() == 'win32' ? '.exe' : '';
230
+ const platform = os.platform() == 'win32' ? 'windows' : os.platform();
231
+ const ext = os.platform() == 'win32' ? '.exe' : '';
262
232
  return util.format('buildx-v%s.%s-%s%s', version, platform, arch, ext);
263
233
  }
264
234
  /*
@@ -267,85 +237,78 @@ class Install {
267
237
  * create a hash of it. Otherwise, return the versionOrRef (semver) as is
268
238
  * without the 'v' prefix.
269
239
  */
270
- vspec(versionOrRef) {
271
- return __awaiter(this, void 0, void 0, function* () {
272
- if (!util_1.Util.isValidRef(versionOrRef)) {
273
- const v = versionOrRef.replace(/^v+|v+$/g, '');
274
- core.info(`Use ${v} version spec cache key for ${versionOrRef}`);
275
- return v;
276
- }
277
- // eslint-disable-next-line prefer-const
278
- let [baseURL, ref] = versionOrRef.split('#');
279
- if (ref.length == 0) {
280
- ref = 'master';
281
- }
282
- let sha;
283
- if (ref.match(/^[0-9a-fA-F]{40}$/)) {
284
- sha = ref;
285
- }
286
- else {
287
- sha = yield git_1.Git.remoteSha(baseURL, ref, process.env.GIT_AUTH_TOKEN);
288
- }
289
- const [owner, repo] = baseURL.substring('https://github.com/'.length).split('/');
290
- const key = `${owner}/${util_1.Util.trimSuffix(repo, '.git')}/${sha}`;
291
- const hash = util_1.Util.hash(key);
292
- core.info(`Use ${hash} version spec cache key for ${key}`);
293
- return hash;
294
- });
240
+ async vspec(versionOrRef) {
241
+ if (!Util.isValidRef(versionOrRef)) {
242
+ const v = versionOrRef.replace(/^v+|v+$/g, '');
243
+ core.info(`Use ${v} version spec cache key for ${versionOrRef}`);
244
+ return v;
245
+ }
246
+ // eslint-disable-next-line prefer-const
247
+ let [baseURL, ref] = versionOrRef.split('#');
248
+ if (ref.length == 0) {
249
+ ref = 'master';
250
+ }
251
+ let sha;
252
+ if (ref.match(/^[0-9a-fA-F]{40}$/)) {
253
+ sha = ref;
254
+ }
255
+ else {
256
+ sha = await Git.remoteSha(baseURL, ref, process.env.GIT_AUTH_TOKEN);
257
+ }
258
+ const [owner, repo] = baseURL.substring('https://github.com/'.length).split('/');
259
+ const key = `${owner}/${Util.trimSuffix(repo, '.git')}/${sha}`;
260
+ const hash = Util.hash(key);
261
+ core.info(`Use ${hash} version spec cache key for ${key}`);
262
+ return hash;
295
263
  }
296
- static getDownloadVersion(v) {
297
- return __awaiter(this, void 0, void 0, function* () {
298
- let [repoKey, version] = v.split(':');
299
- if (!version) {
300
- version = repoKey;
301
- repoKey = 'official';
264
+ static async getDownloadVersion(v) {
265
+ let [repoKey, version] = v.split(':');
266
+ if (!version) {
267
+ version = repoKey;
268
+ repoKey = 'official';
269
+ }
270
+ if (repoKey === 'lab') {
271
+ repoKey = 'cloud';
272
+ }
273
+ switch (repoKey) {
274
+ case 'official': {
275
+ return {
276
+ key: repoKey,
277
+ version: version,
278
+ downloadURL: 'https://github.com/docker/buildx/releases/download/v%s/%s',
279
+ contentOpts: {
280
+ owner: 'docker',
281
+ repo: 'actions-toolkit',
282
+ ref: 'main',
283
+ path: '.github/buildx-releases.json'
284
+ }
285
+ };
302
286
  }
303
- if (repoKey === 'lab') {
304
- repoKey = 'cloud';
287
+ case 'cloud': {
288
+ return {
289
+ key: repoKey,
290
+ version: version,
291
+ downloadURL: 'https://github.com/docker/buildx-desktop/releases/download/v%s/%s',
292
+ contentOpts: {
293
+ owner: 'docker',
294
+ repo: 'actions-toolkit',
295
+ ref: 'main',
296
+ path: '.github/buildx-lab-releases.json'
297
+ }
298
+ };
305
299
  }
306
- switch (repoKey) {
307
- case 'official': {
308
- return {
309
- key: repoKey,
310
- version: version,
311
- downloadURL: 'https://github.com/docker/buildx/releases/download/v%s/%s',
312
- contentOpts: {
313
- owner: 'docker',
314
- repo: 'actions-toolkit',
315
- ref: 'main',
316
- path: '.github/buildx-releases.json'
317
- }
318
- };
319
- }
320
- case 'cloud': {
321
- return {
322
- key: repoKey,
323
- version: version,
324
- downloadURL: 'https://github.com/docker/buildx-desktop/releases/download/v%s/%s',
325
- contentOpts: {
326
- owner: 'docker',
327
- repo: 'actions-toolkit',
328
- ref: 'main',
329
- path: '.github/buildx-lab-releases.json'
330
- }
331
- };
332
- }
333
- default: {
334
- throw new Error(`Cannot find buildx version for ${v}`);
335
- }
300
+ default: {
301
+ throw new Error(`Cannot find buildx version for ${v}`);
336
302
  }
337
- });
303
+ }
338
304
  }
339
- static getRelease(version, githubToken) {
340
- return __awaiter(this, void 0, void 0, function* () {
341
- const github = new github_1.GitHub({ token: githubToken });
342
- const releases = yield github.releases('Buildx', version.contentOpts);
343
- if (!releases[version.version]) {
344
- throw new Error(`Cannot find Buildx release ${version.version} in releases JSON`);
345
- }
346
- return releases[version.version];
347
- });
305
+ static async getRelease(version, githubToken) {
306
+ const github = new GitHub({ token: githubToken });
307
+ const releases = await github.releases('Buildx', version.contentOpts);
308
+ if (!releases[version.version]) {
309
+ throw new Error(`Cannot find Buildx release ${version.version} in releases JSON`);
310
+ }
311
+ return releases[version.version];
348
312
  }
349
313
  }
350
- exports.Install = Install;
351
314
  //# sourceMappingURL=install.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/buildx/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/buildx/install.ts"],"names":[],"mappings":"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"}