@docker/actions-toolkit 0.21.1 → 0.22.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 (48) hide show
  1. package/lib/buildkit/buildkit.js +72 -59
  2. package/lib/buildkit/buildkit.js.map +1 -1
  3. package/lib/buildx/bake.d.ts +4 -1
  4. package/lib/buildx/bake.js +103 -59
  5. package/lib/buildx/bake.js.map +1 -1
  6. package/lib/buildx/{inputs.d.ts → build.d.ts} +12 -9
  7. package/lib/buildx/{inputs.js → build.js} +46 -37
  8. package/lib/buildx/build.js.map +1 -0
  9. package/lib/buildx/builder.d.ts +1 -1
  10. package/lib/buildx/builder.js +50 -34
  11. package/lib/buildx/builder.js.map +1 -1
  12. package/lib/buildx/buildx.d.ts +4 -2
  13. package/lib/buildx/buildx.js +124 -65
  14. package/lib/buildx/buildx.js.map +1 -1
  15. package/lib/buildx/install.js +210 -182
  16. package/lib/buildx/install.js.map +1 -1
  17. package/lib/cache.js +68 -58
  18. package/lib/cache.js.map +1 -1
  19. package/lib/context.js +1 -1
  20. package/lib/context.js.map +1 -1
  21. package/lib/docker/docker.js +94 -72
  22. package/lib/docker/docker.js.map +1 -1
  23. package/lib/docker/install.js +347 -321
  24. package/lib/docker/install.js.map +1 -1
  25. package/lib/dockerhub.js +91 -70
  26. package/lib/dockerhub.js.map +1 -1
  27. package/lib/exec.js +19 -6
  28. package/lib/exec.js.map +1 -1
  29. package/lib/git.js +132 -101
  30. package/lib/git.js.map +1 -1
  31. package/lib/github.d.ts +2 -1
  32. package/lib/github.js +134 -35
  33. package/lib/github.js.map +1 -1
  34. package/lib/index.js +26 -15
  35. package/lib/index.js.map +1 -1
  36. package/lib/toolkit.js +0 -6
  37. package/lib/toolkit.js.map +1 -1
  38. package/lib/types/bake.d.ts +3 -0
  39. package/lib/types/build.d.ts +18 -0
  40. package/lib/types/build.js +18 -0
  41. package/lib/types/build.js.map +1 -0
  42. package/lib/types/buildx.d.ts +15 -0
  43. package/lib/types/github.d.ts +11 -0
  44. package/lib/util.d.ts +1 -0
  45. package/lib/util.js +41 -20
  46. package/lib/util.js.map +1 -1
  47. package/package.json +3 -1
  48. package/lib/buildx/inputs.js.map +0 -1
@@ -37,6 +37,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
37
37
  __setModuleDefault(result, mod);
38
38
  return result;
39
39
  };
40
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
41
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
42
+ return new (P || (P = Promise))(function (resolve, reject) {
43
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
44
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
45
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
46
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
47
+ });
48
+ };
40
49
  var __importDefault = (this && this.__importDefault) || function (mod) {
41
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
42
51
  };
@@ -58,9 +67,8 @@ const docker_1 = require("../docker/docker");
58
67
  const git_1 = require("../git");
59
68
  const util_1 = require("../util");
60
69
  class Install {
61
- _standalone;
62
70
  constructor(opts) {
63
- this._standalone = opts?.standalone;
71
+ this._standalone = opts === null || opts === void 0 ? void 0 : opts.standalone;
64
72
  }
65
73
  /*
66
74
  * Download buildx binary from GitHub release
@@ -68,36 +76,38 @@ class Install {
68
76
  * @param ghaNoCache: disable binary caching in GitHub Actions cache backend
69
77
  * @returns path to the buildx binary
70
78
  */
71
- async download(v, ghaNoCache) {
72
- const version = await Install.getDownloadVersion(v);
73
- core.debug(`Install.download version: ${version.version}`);
74
- const release = await Install.getRelease(version);
75
- core.debug(`Install.download release tag name: ${release.tag_name}`);
76
- const vspec = await this.vspec(release.tag_name);
77
- core.debug(`Install.download vspec: ${vspec}`);
78
- const c = semver.clean(vspec) || '';
79
- if (!semver.valid(c)) {
80
- throw new Error(`Invalid Buildx version "${vspec}".`);
81
- }
82
- const installCache = new cache_1.Cache({
83
- htcName: version.key != 'official' ? `buildx-dl-bin-${version.key}` : 'buildx-dl-bin',
84
- htcVersion: vspec,
85
- baseCacheDir: path_1.default.join(buildx_1.Buildx.configDir, '.bin'),
86
- cacheFile: os_1.default.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx',
87
- ghaNoCache: ghaNoCache
79
+ download(v, ghaNoCache) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ const version = yield Install.getDownloadVersion(v);
82
+ core.debug(`Install.download version: ${version.version}`);
83
+ const release = yield Install.getRelease(version);
84
+ core.debug(`Install.download release tag name: ${release.tag_name}`);
85
+ const vspec = yield this.vspec(release.tag_name);
86
+ core.debug(`Install.download vspec: ${vspec}`);
87
+ const c = semver.clean(vspec) || '';
88
+ if (!semver.valid(c)) {
89
+ throw new Error(`Invalid Buildx version "${vspec}".`);
90
+ }
91
+ const installCache = new cache_1.Cache({
92
+ htcName: version.key != 'official' ? `buildx-dl-bin-${version.key}` : 'buildx-dl-bin',
93
+ htcVersion: vspec,
94
+ baseCacheDir: path_1.default.join(buildx_1.Buildx.configDir, '.bin'),
95
+ cacheFile: os_1.default.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx',
96
+ ghaNoCache: ghaNoCache
97
+ });
98
+ const cacheFoundPath = yield installCache.find();
99
+ if (cacheFoundPath) {
100
+ core.info(`Buildx binary found in ${cacheFoundPath}`);
101
+ return cacheFoundPath;
102
+ }
103
+ const downloadURL = util.format(version.downloadURL, vspec, this.filename(vspec));
104
+ core.info(`Downloading ${downloadURL}`);
105
+ const htcDownloadPath = yield tc.downloadTool(downloadURL);
106
+ core.debug(`Install.download htcDownloadPath: ${htcDownloadPath}`);
107
+ const cacheSavePath = yield installCache.save(htcDownloadPath);
108
+ core.info(`Cached to ${cacheSavePath}`);
109
+ return cacheSavePath;
88
110
  });
89
- const cacheFoundPath = await installCache.find();
90
- if (cacheFoundPath) {
91
- core.info(`Buildx binary found in ${cacheFoundPath}`);
92
- return cacheFoundPath;
93
- }
94
- const downloadURL = util.format(version.downloadURL, vspec, this.filename(vspec));
95
- core.info(`Downloading ${downloadURL}`);
96
- const htcDownloadPath = await tc.downloadTool(downloadURL);
97
- core.debug(`Install.download htcDownloadPath: ${htcDownloadPath}`);
98
- const cacheSavePath = await installCache.save(htcDownloadPath);
99
- core.info(`Cached to ${cacheSavePath}`);
100
- return cacheSavePath;
101
111
  }
102
112
  /*
103
113
  * Build buildx binary from source
@@ -105,102 +115,114 @@ class Install {
105
115
  * @param ghaNoCache: disable binary caching in GitHub Actions cache backend
106
116
  * @returns path to the buildx binary
107
117
  */
108
- async build(gitContext, ghaNoCache) {
109
- const vspec = await this.vspec(gitContext);
110
- core.debug(`Install.build vspec: ${vspec}`);
111
- const installCache = new cache_1.Cache({
112
- htcName: 'buildx-build-bin',
113
- htcVersion: vspec,
114
- baseCacheDir: path_1.default.join(buildx_1.Buildx.configDir, '.bin'),
115
- cacheFile: os_1.default.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx',
116
- ghaNoCache: ghaNoCache
117
- });
118
- const cacheFoundPath = await installCache.find();
119
- if (cacheFoundPath) {
120
- core.info(`Buildx binary found in ${cacheFoundPath}`);
121
- return cacheFoundPath;
122
- }
123
- const outputDir = path_1.default.join(context_1.Context.tmpDir(), 'buildx-build-cache');
124
- const buildCmd = await this.buildCommand(gitContext, outputDir);
125
- const buildBinPath = await exec_1.Exec.getExecOutput(buildCmd.command, buildCmd.args, {
126
- ignoreReturnCode: true
127
- }).then(res => {
128
- if (res.stderr.length > 0 && res.exitCode != 0) {
129
- throw new Error(`build failed with: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
118
+ build(gitContext, ghaNoCache) {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ const vspec = yield this.vspec(gitContext);
121
+ core.debug(`Install.build vspec: ${vspec}`);
122
+ const installCache = new cache_1.Cache({
123
+ htcName: 'buildx-build-bin',
124
+ htcVersion: vspec,
125
+ baseCacheDir: path_1.default.join(buildx_1.Buildx.configDir, '.bin'),
126
+ cacheFile: os_1.default.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx',
127
+ ghaNoCache: ghaNoCache
128
+ });
129
+ const cacheFoundPath = yield installCache.find();
130
+ if (cacheFoundPath) {
131
+ core.info(`Buildx binary found in ${cacheFoundPath}`);
132
+ return cacheFoundPath;
130
133
  }
131
- return `${outputDir}/buildx`;
134
+ const outputDir = path_1.default.join(context_1.Context.tmpDir(), 'buildx-build-cache');
135
+ const buildCmd = yield this.buildCommand(gitContext, outputDir);
136
+ const buildBinPath = yield exec_1.Exec.getExecOutput(buildCmd.command, buildCmd.args, {
137
+ ignoreReturnCode: true
138
+ }).then(res => {
139
+ var _a, _b, _c;
140
+ if (res.stderr.length > 0 && res.exitCode != 0) {
141
+ 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'}`);
142
+ }
143
+ return `${outputDir}/buildx`;
144
+ });
145
+ const cacheSavePath = yield installCache.save(buildBinPath);
146
+ core.info(`Cached to ${cacheSavePath}`);
147
+ return cacheSavePath;
132
148
  });
133
- const cacheSavePath = await installCache.save(buildBinPath);
134
- core.info(`Cached to ${cacheSavePath}`);
135
- return cacheSavePath;
136
149
  }
137
- async installStandalone(binPath, dest) {
138
- core.info('Standalone mode');
139
- dest = dest || context_1.Context.tmpDir();
140
- const binDir = path_1.default.join(dest, 'buildx-bin-standalone');
141
- if (!fs_1.default.existsSync(binDir)) {
142
- fs_1.default.mkdirSync(binDir, { recursive: true });
143
- }
144
- const binName = os_1.default.platform() == 'win32' ? 'buildx.exe' : 'buildx';
145
- const buildxPath = path_1.default.join(binDir, binName);
146
- fs_1.default.copyFileSync(binPath, buildxPath);
147
- core.info('Fixing perms');
148
- fs_1.default.chmodSync(buildxPath, '0755');
149
- core.addPath(binDir);
150
- core.info('Added Buildx to PATH');
151
- core.info(`Binary path: ${buildxPath}`);
152
- return buildxPath;
150
+ installStandalone(binPath, dest) {
151
+ return __awaiter(this, void 0, void 0, function* () {
152
+ core.info('Standalone mode');
153
+ dest = dest || context_1.Context.tmpDir();
154
+ const binDir = path_1.default.join(dest, 'buildx-bin-standalone');
155
+ if (!fs_1.default.existsSync(binDir)) {
156
+ fs_1.default.mkdirSync(binDir, { recursive: true });
157
+ }
158
+ const binName = os_1.default.platform() == 'win32' ? 'buildx.exe' : 'buildx';
159
+ const buildxPath = path_1.default.join(binDir, binName);
160
+ fs_1.default.copyFileSync(binPath, buildxPath);
161
+ core.info('Fixing perms');
162
+ fs_1.default.chmodSync(buildxPath, '0755');
163
+ core.addPath(binDir);
164
+ core.info('Added Buildx to PATH');
165
+ core.info(`Binary path: ${buildxPath}`);
166
+ return buildxPath;
167
+ });
153
168
  }
154
- async installPlugin(binPath, dest) {
155
- core.info('Docker plugin mode');
156
- dest = dest || docker_1.Docker.configDir;
157
- const pluginsDir = path_1.default.join(dest, 'cli-plugins');
158
- if (!fs_1.default.existsSync(pluginsDir)) {
159
- fs_1.default.mkdirSync(pluginsDir, { recursive: true });
160
- }
161
- const binName = os_1.default.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
162
- const pluginPath = path_1.default.join(pluginsDir, binName);
163
- fs_1.default.copyFileSync(binPath, pluginPath);
164
- core.info('Fixing perms');
165
- fs_1.default.chmodSync(pluginPath, '0755');
166
- core.info(`Plugin path: ${pluginPath}`);
167
- return pluginPath;
169
+ installPlugin(binPath, dest) {
170
+ return __awaiter(this, void 0, void 0, function* () {
171
+ core.info('Docker plugin mode');
172
+ dest = dest || docker_1.Docker.configDir;
173
+ const pluginsDir = path_1.default.join(dest, 'cli-plugins');
174
+ if (!fs_1.default.existsSync(pluginsDir)) {
175
+ fs_1.default.mkdirSync(pluginsDir, { recursive: true });
176
+ }
177
+ const binName = os_1.default.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
178
+ const pluginPath = path_1.default.join(pluginsDir, binName);
179
+ fs_1.default.copyFileSync(binPath, pluginPath);
180
+ core.info('Fixing perms');
181
+ fs_1.default.chmodSync(pluginPath, '0755');
182
+ core.info(`Plugin path: ${pluginPath}`);
183
+ return pluginPath;
184
+ });
168
185
  }
169
- async buildCommand(gitContext, outputDir) {
170
- const buildxStandaloneFound = await new buildx_1.Buildx({ standalone: true }).isAvailable();
171
- const buildxPluginFound = await new buildx_1.Buildx({ standalone: false }).isAvailable();
172
- let buildStandalone = false;
173
- if ((await this.isStandalone()) && buildxStandaloneFound) {
174
- core.debug(`Install.buildCommand: Buildx standalone found, build with it`);
175
- buildStandalone = true;
176
- }
177
- else if (!(await this.isStandalone()) && buildxPluginFound) {
178
- core.debug(`Install.buildCommand: Buildx plugin found, build with it`);
179
- buildStandalone = false;
180
- }
181
- else if (buildxStandaloneFound) {
182
- core.debug(`Install.buildCommand: Buildx plugin not found, but standalone found so trying to build with it`);
183
- buildStandalone = true;
184
- }
185
- else if (buildxPluginFound) {
186
- core.debug(`Install.buildCommand: Buildx standalone not found, but plugin found so trying to build with it`);
187
- buildStandalone = false;
188
- }
189
- else {
190
- throw new Error(`Neither buildx standalone or plugin have been found to build from ref ${gitContext}`);
191
- }
192
- const args = ['build', '--target', 'binaries', '--platform', 'local', '--build-arg', 'BUILDKIT_CONTEXT_KEEP_GIT_DIR=1', '--output', `type=local,dest=${outputDir}`];
193
- if (process.env.GIT_AUTH_TOKEN) {
194
- args.push('--secret', 'id=GIT_AUTH_TOKEN');
195
- }
196
- args.push(gitContext);
197
- //prettier-ignore
198
- return await new buildx_1.Buildx({ standalone: buildStandalone }).getCommand(args);
186
+ buildCommand(gitContext, outputDir) {
187
+ return __awaiter(this, void 0, void 0, function* () {
188
+ const buildxStandaloneFound = yield new buildx_1.Buildx({ standalone: true }).isAvailable();
189
+ const buildxPluginFound = yield new buildx_1.Buildx({ standalone: false }).isAvailable();
190
+ let buildStandalone = false;
191
+ if ((yield this.isStandalone()) && buildxStandaloneFound) {
192
+ core.debug(`Install.buildCommand: Buildx standalone found, build with it`);
193
+ buildStandalone = true;
194
+ }
195
+ else if (!(yield this.isStandalone()) && buildxPluginFound) {
196
+ core.debug(`Install.buildCommand: Buildx plugin found, build with it`);
197
+ buildStandalone = false;
198
+ }
199
+ else if (buildxStandaloneFound) {
200
+ core.debug(`Install.buildCommand: Buildx plugin not found, but standalone found so trying to build with it`);
201
+ buildStandalone = true;
202
+ }
203
+ else if (buildxPluginFound) {
204
+ core.debug(`Install.buildCommand: Buildx standalone not found, but plugin found so trying to build with it`);
205
+ buildStandalone = false;
206
+ }
207
+ else {
208
+ throw new Error(`Neither buildx standalone or plugin have been found to build from ref ${gitContext}`);
209
+ }
210
+ const args = ['build', '--target', 'binaries', '--platform', 'local', '--build-arg', 'BUILDKIT_CONTEXT_KEEP_GIT_DIR=1', '--output', `type=local,dest=${outputDir}`];
211
+ if (process.env.GIT_AUTH_TOKEN) {
212
+ args.push('--secret', 'id=GIT_AUTH_TOKEN');
213
+ }
214
+ args.push(gitContext);
215
+ //prettier-ignore
216
+ return yield new buildx_1.Buildx({ standalone: buildStandalone }).getCommand(args);
217
+ });
199
218
  }
200
- async isStandalone() {
201
- const standalone = this._standalone ?? !(await docker_1.Docker.isAvailable());
202
- core.debug(`Install.isStandalone: ${standalone}`);
203
- return standalone;
219
+ isStandalone() {
220
+ var _a;
221
+ return __awaiter(this, void 0, void 0, function* () {
222
+ const standalone = (_a = this._standalone) !== null && _a !== void 0 ? _a : !(yield docker_1.Docker.isAvailable());
223
+ core.debug(`Install.isStandalone: ${standalone}`);
224
+ return standalone;
225
+ });
204
226
  }
205
227
  filename(version) {
206
228
  let arch;
@@ -234,71 +256,77 @@ class Install {
234
256
  * create a hash of it. Otherwise, return the versionOrRef (semver) as is
235
257
  * without the 'v' prefix.
236
258
  */
237
- async vspec(versionOrRef) {
238
- if (!util_1.Util.isValidRef(versionOrRef)) {
239
- const v = versionOrRef.replace(/^v+|v+$/g, '');
240
- core.info(`Use ${v} version spec cache key for ${versionOrRef}`);
241
- return v;
242
- }
243
- // eslint-disable-next-line prefer-const
244
- let [baseURL, ref] = versionOrRef.split('#');
245
- if (ref.length == 0) {
246
- ref = 'master';
247
- }
248
- let sha;
249
- if (ref.match(/^[0-9a-fA-F]{40}$/)) {
250
- sha = ref;
251
- }
252
- else {
253
- sha = await git_1.Git.remoteSha(baseURL, ref, process.env.GIT_AUTH_TOKEN);
254
- }
255
- const [owner, repo] = baseURL.substring('https://github.com/'.length).split('/');
256
- const key = `${owner}/${util_1.Util.trimSuffix(repo, '.git')}/${sha}`;
257
- const hash = util_1.Util.hash(key);
258
- core.info(`Use ${hash} version spec cache key for ${key}`);
259
- return hash;
260
- }
261
- static async getDownloadVersion(v) {
262
- let [repoKey, version] = v.split(':');
263
- if (!version) {
264
- version = repoKey;
265
- repoKey = 'official';
266
- }
267
- switch (repoKey) {
268
- case 'official': {
269
- return {
270
- key: repoKey,
271
- version: version,
272
- downloadURL: 'https://github.com/docker/buildx/releases/download/v%s/%s',
273
- releasesURL: 'https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/buildx-releases.json'
274
- };
259
+ vspec(versionOrRef) {
260
+ return __awaiter(this, void 0, void 0, function* () {
261
+ if (!util_1.Util.isValidRef(versionOrRef)) {
262
+ const v = versionOrRef.replace(/^v+|v+$/g, '');
263
+ core.info(`Use ${v} version spec cache key for ${versionOrRef}`);
264
+ return v;
275
265
  }
276
- case 'lab': {
277
- return {
278
- key: repoKey,
279
- version: version,
280
- downloadURL: 'https://github.com/docker/buildx-desktop/releases/download/v%s/%s',
281
- releasesURL: 'https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/buildx-lab-releases.json'
282
- };
266
+ // eslint-disable-next-line prefer-const
267
+ let [baseURL, ref] = versionOrRef.split('#');
268
+ if (ref.length == 0) {
269
+ ref = 'master';
283
270
  }
284
- default: {
285
- throw new Error(`Cannot find buildx version for ${v}`);
271
+ let sha;
272
+ if (ref.match(/^[0-9a-fA-F]{40}$/)) {
273
+ sha = ref;
286
274
  }
287
- }
275
+ else {
276
+ sha = yield git_1.Git.remoteSha(baseURL, ref, process.env.GIT_AUTH_TOKEN);
277
+ }
278
+ const [owner, repo] = baseURL.substring('https://github.com/'.length).split('/');
279
+ const key = `${owner}/${util_1.Util.trimSuffix(repo, '.git')}/${sha}`;
280
+ const hash = util_1.Util.hash(key);
281
+ core.info(`Use ${hash} version spec cache key for ${key}`);
282
+ return hash;
283
+ });
288
284
  }
289
- static async getRelease(version) {
290
- const http = new httpm.HttpClient('docker-actions-toolkit');
291
- const resp = await http.get(version.releasesURL);
292
- const body = await resp.readBody();
293
- const statusCode = resp.message.statusCode || 500;
294
- if (statusCode >= 400) {
295
- throw new Error(`Failed to get Buildx releases from ${version.releasesURL} with status code ${statusCode}: ${body}`);
296
- }
297
- const releases = JSON.parse(body);
298
- if (!releases[version.version]) {
299
- throw new Error(`Cannot find Buildx release ${version.version} in ${version.releasesURL}`);
300
- }
301
- return releases[version.version];
285
+ static getDownloadVersion(v) {
286
+ return __awaiter(this, void 0, void 0, function* () {
287
+ let [repoKey, version] = v.split(':');
288
+ if (!version) {
289
+ version = repoKey;
290
+ repoKey = 'official';
291
+ }
292
+ switch (repoKey) {
293
+ case 'official': {
294
+ return {
295
+ key: repoKey,
296
+ version: version,
297
+ downloadURL: 'https://github.com/docker/buildx/releases/download/v%s/%s',
298
+ releasesURL: 'https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/buildx-releases.json'
299
+ };
300
+ }
301
+ case 'lab': {
302
+ return {
303
+ key: repoKey,
304
+ version: version,
305
+ downloadURL: 'https://github.com/docker/buildx-desktop/releases/download/v%s/%s',
306
+ releasesURL: 'https://raw.githubusercontent.com/docker/actions-toolkit/main/.github/buildx-lab-releases.json'
307
+ };
308
+ }
309
+ default: {
310
+ throw new Error(`Cannot find buildx version for ${v}`);
311
+ }
312
+ }
313
+ });
314
+ }
315
+ static getRelease(version) {
316
+ return __awaiter(this, void 0, void 0, function* () {
317
+ const http = new httpm.HttpClient('docker-actions-toolkit');
318
+ const resp = yield http.get(version.releasesURL);
319
+ const body = yield resp.readBody();
320
+ const statusCode = resp.message.statusCode || 500;
321
+ if (statusCode >= 400) {
322
+ throw new Error(`Failed to get Buildx releases from ${version.releasesURL} with status code ${statusCode}: ${body}`);
323
+ }
324
+ const releases = JSON.parse(body);
325
+ if (!releases[version.version]) {
326
+ throw new Error(`Cannot find Buildx release ${version.version} in ${version.releasesURL}`);
327
+ }
328
+ return releases[version.version];
329
+ });
302
330
  }
303
331
  }
304
332
  exports.Install = Install;
@@ -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":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4CAAoB;AACpB,4CAAoB;AACpB,gDAAwB;AACxB,oDAAsC;AACtC,4DAA8C;AAC9C,wDAA0C;AAC1C,+CAAiC;AACjC,2CAA6B;AAE7B,qCAAgC;AAChC,oCAA+B;AAC/B,wCAAmC;AACnC,kCAA6B;AAC7B,6CAAwC;AACxC,gCAA2B;AAC3B,kCAA6B;AAS7B,MAAa,OAAO;IAGlB,YAAY,IAAkB;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACU,QAAQ,CAAC,CAAS,EAAE,UAAoB;;YACnD,MAAM,OAAO,GAAoB,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,KAAK,CAAC,6BAA6B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAE3D,MAAM,OAAO,GAAkB,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK,CAAC,sCAAsC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAErE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;YAE/C,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,IAAI,CAAC,CAAC;aACvD;YAED,MAAM,YAAY,GAAG,IAAI,aAAK,CAAC;gBAC7B,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,iBAAiB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe;gBACrF,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,cAAI,CAAC,IAAI,CAAC,eAAM,CAAC,SAAS,EAAE,MAAM,CAAC;gBACjD,SAAS,EAAE,YAAE,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe;gBAC3E,UAAU,EAAE,UAAU;aACvB,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,IAAI,CAAC,0BAA0B,cAAc,EAAE,CAAC,CAAC;gBACtD,OAAO,cAAc,CAAC;aACvB;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,IAAI,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC;YAExC,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,qCAAqC,eAAe,EAAE,CAAC,CAAC;YAEnE,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,aAAa,EAAE,CAAC,CAAC;YACxC,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;IAED;;;;;OAKG;IACU,KAAK,CAAC,UAAkB,EAAE,UAAoB;;YACzD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;YAE5C,MAAM,YAAY,GAAG,IAAI,aAAK,CAAC;gBAC7B,OAAO,EAAE,kBAAkB;gBAC3B,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,cAAI,CAAC,IAAI,CAAC,eAAM,CAAC,SAAS,EAAE,MAAM,CAAC;gBACjD,SAAS,EAAE,YAAE,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe;gBAC3E,UAAU,EAAE,UAAU;aACvB,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,IAAI,CAAC,0BAA0B,cAAc,EAAE,CAAC,CAAC;gBACtD,OAAO,cAAc,CAAC;aACvB;YAED,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,iBAAO,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAEhE,MAAM,YAAY,GAAG,MAAM,WAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE;gBAC7E,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;;gBACZ,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE;oBAC9C,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAA,MAAA,MAAA,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,0CAAG,CAAC,CAAC,0CAAE,IAAI,EAAE,mCAAI,eAAe,EAAE,CAAC,CAAC;iBACvG;gBACD,OAAO,GAAG,SAAS,SAAS,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,aAAa,aAAa,EAAE,CAAC,CAAC;YACxC,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;IAEY,iBAAiB,CAAC,OAAe,EAAE,IAAa;;YAC3D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7B,IAAI,GAAG,IAAI,IAAI,iBAAO,CAAC,MAAM,EAAE,CAAC;YAEhC,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YACxD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBAC1B,YAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;aACzC;YACD,MAAM,OAAO,GAAW,YAAE,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3E,MAAM,UAAU,GAAW,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACtD,YAAE,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAErC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC1B,YAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAEjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAElC,IAAI,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;YACxC,OAAO,UAAU,CAAC;QACpB,CAAC;KAAA;IAEY,aAAa,CAAC,OAAe,EAAE,IAAa;;YACvD,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAChC,IAAI,GAAG,IAAI,IAAI,eAAM,CAAC,SAAS,CAAC;YAEhC,MAAM,UAAU,GAAW,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;gBAC9B,YAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;aAC7C;YACD,MAAM,OAAO,GAAW,YAAE,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC;YACzF,MAAM,UAAU,GAAW,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC1D,YAAE,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAErC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC1B,YAAE,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAEjC,IAAI,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;YACxC,OAAO,UAAU,CAAC;QACpB,CAAC;KAAA;IAEa,YAAY,CAAC,UAAkB,EAAE,SAAiB;;YAC9D,MAAM,qBAAqB,GAAG,MAAM,IAAI,eAAM,CAAC,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACjF,MAAM,iBAAiB,GAAG,MAAM,IAAI,eAAM,CAAC,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAE9E,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,qBAAqB,EAAE;gBACxD,IAAI,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;gBAC3E,eAAe,GAAG,IAAI,CAAC;aACxB;iBAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,iBAAiB,EAAE;gBAC5D,IAAI,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBACvE,eAAe,GAAG,KAAK,CAAC;aACzB;iBAAM,IAAI,qBAAqB,EAAE;gBAChC,IAAI,CAAC,KAAK,CAAC,gGAAgG,CAAC,CAAC;gBAC7G,eAAe,GAAG,IAAI,CAAC;aACxB;iBAAM,IAAI,iBAAiB,EAAE;gBAC5B,IAAI,CAAC,KAAK,CAAC,gGAAgG,CAAC,CAAC;gBAC7G,eAAe,GAAG,KAAK,CAAC;aACzB;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,yEAAyE,UAAU,EAAE,CAAC,CAAC;aACxG;YAED,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,iCAAiC,EAAE,UAAU,EAAE,mBAAmB,SAAS,EAAE,CAAC,CAAC;YACpK,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE;gBAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;aAC5C;YACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEtB,iBAAiB;YACjB,OAAO,MAAM,IAAI,eAAM,CAAC,EAAC,UAAU,EAAE,eAAe,EAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1E,CAAC;KAAA;IAEa,YAAY;;;YACxB,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,CAAC,CAAC,MAAM,eAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;YAClD,OAAO,UAAU,CAAC;;KACnB;IAEO,QAAQ,CAAC,OAAe;QAC9B,IAAI,IAAY,CAAC;QACjB,QAAQ,YAAE,CAAC,IAAI,EAAE,EAAE;YACjB,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,GAAG,OAAO,CAAC;gBACf,MAAM;aACP;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,GAAG,SAAS,CAAC;gBACjB,MAAM;aACP;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,8DAA8D;gBAC9D,MAAM,WAAW,GAAI,OAAO,CAAC,MAAM,CAAC,SAAiB,CAAC,WAAW,CAAC;gBAClE,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;gBACnD,MAAM;aACP;YACD,OAAO,CAAC,CAAC;gBACP,IAAI,GAAG,YAAE,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM;aACP;SACF;QACD,MAAM,QAAQ,GAAW,YAAE,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAE,CAAC,QAAQ,EAAE,CAAC;QAC9E,MAAM,GAAG,GAAW,YAAE,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACW,KAAK,CAAC,YAAoB;;YACtC,IAAI,CAAC,WAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;gBAClC,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,CAAC;aACV;YAED,wCAAwC;YACxC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;gBACnB,GAAG,GAAG,QAAQ,CAAC;aAChB;YAED,IAAI,GAAW,CAAC;YAChB,IAAI,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE;gBAClC,GAAG,GAAG,GAAG,CAAC;aACX;iBAAM;gBACL,GAAG,GAAG,MAAM,SAAG,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;aACrE;YAED,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjF,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,WAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,WAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,+BAA+B,GAAG,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEM,MAAM,CAAO,kBAAkB,CAAC,CAAS;;YAC9C,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,GAAG,OAAO,CAAC;gBAClB,OAAO,GAAG,UAAU,CAAC;aACtB;YACD,QAAQ,OAAO,EAAE;gBACf,KAAK,UAAU,CAAC,CAAC;oBACf,OAAO;wBACL,GAAG,EAAE,OAAO;wBACZ,OAAO,EAAE,OAAO;wBAChB,WAAW,EAAE,2DAA2D;wBACxE,WAAW,EAAE,4FAA4F;qBAC1G,CAAC;iBACH;gBACD,KAAK,KAAK,CAAC,CAAC;oBACV,OAAO;wBACL,GAAG,EAAE,OAAO;wBACZ,OAAO,EAAE,OAAO;wBAChB,WAAW,EAAE,mEAAmE;wBAChF,WAAW,EAAE,gGAAgG;qBAC9G,CAAC;iBACH;gBACD,OAAO,CAAC,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC;iBACxD;aACF;QACH,CAAC;KAAA;IAEM,MAAM,CAAO,UAAU,CAAC,OAAwB;;YACrD,MAAM,IAAI,GAAqB,IAAI,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;YAC9E,MAAM,IAAI,GAA6B,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC3E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC;YAClD,IAAI,UAAU,IAAI,GAAG,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,CAAC,WAAW,qBAAqB,UAAU,KAAK,IAAI,EAAE,CAAC,CAAC;aACtH;YACD,MAAM,QAAQ,GAAkC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAC,OAAO,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;aAC5F;YACD,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;KAAA;CACF;AAnRD,0BAmRC"}