@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
package/lib/oci/oci.js
CHANGED
|
@@ -1,51 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
45
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
46
|
-
};
|
|
47
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
-
exports.OCI = void 0;
|
|
49
1
|
/**
|
|
50
2
|
* Copyright 2024 actions-toolkit authors
|
|
51
3
|
*
|
|
@@ -61,18 +13,17 @@ exports.OCI = void 0;
|
|
|
61
13
|
* See the License for the specific language governing permissions and
|
|
62
14
|
* limitations under the License.
|
|
63
15
|
*/
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
class OCI {
|
|
16
|
+
import fs from 'fs';
|
|
17
|
+
import os from 'os';
|
|
18
|
+
import gunzip from 'gunzip-maybe';
|
|
19
|
+
import * as path from 'path';
|
|
20
|
+
import * as tar from 'tar-stream';
|
|
21
|
+
import { IMAGE_BLOBS_DIR_V1, IMAGE_INDEX_FILE_V1, IMAGE_LAYOUT_FILE_V1 } from '../types/oci/layout.js';
|
|
22
|
+
import { MEDIATYPE_IMAGE_INDEX_V1, MEDIATYPE_IMAGE_MANIFEST_V1 } from '../types/oci/mediatype.js';
|
|
23
|
+
export class OCI {
|
|
72
24
|
static defaultPlatform() {
|
|
73
|
-
|
|
74
|
-
const
|
|
75
|
-
const nodeArch = os_1.default.arch();
|
|
25
|
+
const nodePlatform = os.platform();
|
|
26
|
+
const nodeArch = os.arch();
|
|
76
27
|
const goosMap = {
|
|
77
28
|
win32: 'windows',
|
|
78
29
|
sunos: 'solaris'
|
|
@@ -92,12 +43,12 @@ class OCI {
|
|
|
92
43
|
mips64: 'mips64',
|
|
93
44
|
mips64el: 'mips64le'
|
|
94
45
|
};
|
|
95
|
-
const goos =
|
|
96
|
-
const goarch =
|
|
46
|
+
const goos = goosMap[nodePlatform] ?? nodePlatform;
|
|
47
|
+
const goarch = goArchMap[nodeArch] ?? nodeArch;
|
|
97
48
|
let variant;
|
|
98
49
|
if (goarch === 'arm') {
|
|
99
50
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
100
|
-
const armVersionRaw =
|
|
51
|
+
const armVersionRaw = process.config.variables?.arm_version;
|
|
101
52
|
const armVersion = Number(armVersionRaw);
|
|
102
53
|
// Go only recognizes v5/v6/v7 for GOARM. Do not emit v8+ (that would be arm64).
|
|
103
54
|
if ([5, 6, 7].includes(armVersion)) {
|
|
@@ -119,17 +70,17 @@ class OCI {
|
|
|
119
70
|
const manifests = {};
|
|
120
71
|
const images = {};
|
|
121
72
|
const blobs = {};
|
|
122
|
-
tarex.on('entry', (header, stream, next) =>
|
|
73
|
+
tarex.on('entry', async (header, stream, next) => {
|
|
123
74
|
if (header.type === 'file') {
|
|
124
75
|
const filename = path.normalize(header.name);
|
|
125
|
-
if (filename ===
|
|
126
|
-
rootIndex =
|
|
76
|
+
if (filename === IMAGE_INDEX_FILE_V1) {
|
|
77
|
+
rootIndex = await OCI.streamToJson(stream);
|
|
127
78
|
}
|
|
128
|
-
else if (filename ===
|
|
129
|
-
rootLayout =
|
|
79
|
+
else if (filename === IMAGE_LAYOUT_FILE_V1) {
|
|
80
|
+
rootLayout = await OCI.streamToJson(stream);
|
|
130
81
|
}
|
|
131
|
-
else if (filename.startsWith(path.join(
|
|
132
|
-
const blob =
|
|
82
|
+
else if (filename.startsWith(path.join(IMAGE_BLOBS_DIR_V1, path.sep))) {
|
|
83
|
+
const blob = await OCI.extractBlob(stream);
|
|
133
84
|
const digest = `${filename.split(path.sep)[1]}:${filename.split(path.sep)[filename.split(path.sep).length - 1]}`;
|
|
134
85
|
if (OCI.isIndex(blob)) {
|
|
135
86
|
indexes[digest] = JSON.parse(blob);
|
|
@@ -150,7 +101,7 @@ class OCI {
|
|
|
150
101
|
}
|
|
151
102
|
stream.resume();
|
|
152
103
|
next();
|
|
153
|
-
})
|
|
104
|
+
});
|
|
154
105
|
tarex.on('finish', () => {
|
|
155
106
|
if (!rootIndex || !rootLayout) {
|
|
156
107
|
reject(new Error('Invalid OCI archive: missing index or layout'));
|
|
@@ -169,16 +120,16 @@ class OCI {
|
|
|
169
120
|
tarex.on('error', error => {
|
|
170
121
|
reject(error);
|
|
171
122
|
});
|
|
172
|
-
|
|
123
|
+
fs.createReadStream(opts.file).pipe(gunzip()).pipe(tarex);
|
|
173
124
|
});
|
|
174
125
|
}
|
|
175
126
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
176
127
|
static isIndex(blob) {
|
|
177
128
|
try {
|
|
178
129
|
const index = JSON.parse(blob);
|
|
179
|
-
return index.mediaType ===
|
|
130
|
+
return index.mediaType === MEDIATYPE_IMAGE_INDEX_V1;
|
|
180
131
|
}
|
|
181
|
-
catch
|
|
132
|
+
catch {
|
|
182
133
|
return false;
|
|
183
134
|
}
|
|
184
135
|
}
|
|
@@ -186,9 +137,9 @@ class OCI {
|
|
|
186
137
|
static isManifest(blob) {
|
|
187
138
|
try {
|
|
188
139
|
const manifest = JSON.parse(blob);
|
|
189
|
-
return manifest.mediaType ===
|
|
140
|
+
return manifest.mediaType === MEDIATYPE_IMAGE_MANIFEST_V1 && manifest.layers.length > 0;
|
|
190
141
|
}
|
|
191
|
-
catch
|
|
142
|
+
catch {
|
|
192
143
|
return false;
|
|
193
144
|
}
|
|
194
145
|
}
|
|
@@ -198,7 +149,7 @@ class OCI {
|
|
|
198
149
|
const image = JSON.parse(blob);
|
|
199
150
|
return image.rootfs.type !== '';
|
|
200
151
|
}
|
|
201
|
-
catch
|
|
152
|
+
catch {
|
|
202
153
|
return false;
|
|
203
154
|
}
|
|
204
155
|
}
|
|
@@ -206,46 +157,43 @@ class OCI {
|
|
|
206
157
|
static extractBlob(stream) {
|
|
207
158
|
return new Promise((resolve, reject) => {
|
|
208
159
|
const chunks = [];
|
|
209
|
-
const dstream = stream.pipe((
|
|
160
|
+
const dstream = stream.pipe(gunzip());
|
|
210
161
|
dstream.on('data', chunk => {
|
|
211
162
|
chunks.push(chunk);
|
|
212
163
|
});
|
|
213
164
|
dstream.on('end', () => {
|
|
214
165
|
resolve(Buffer.concat(chunks).toString('utf8'));
|
|
215
166
|
});
|
|
216
|
-
dstream.on('error', (error) =>
|
|
167
|
+
dstream.on('error', async (error) => {
|
|
217
168
|
reject(error);
|
|
218
|
-
})
|
|
169
|
+
});
|
|
219
170
|
});
|
|
220
171
|
}
|
|
221
|
-
static streamToJson(stream) {
|
|
222
|
-
return
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
catch (error) {
|
|
240
|
-
reject(error);
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
stream.on('error', (error) => __awaiter(this, void 0, void 0, function* () {
|
|
172
|
+
static async streamToJson(stream) {
|
|
173
|
+
return new Promise((resolve, reject) => {
|
|
174
|
+
const chunks = [];
|
|
175
|
+
let bytes = 0;
|
|
176
|
+
stream.on('data', chunk => {
|
|
177
|
+
bytes += chunk.length;
|
|
178
|
+
if (bytes <= 2 * 1024 * 1024) {
|
|
179
|
+
chunks.push(chunk.toString('utf8'));
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
reject(new Error('The data stream exceeds the size limit for JSON parsing.'));
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
stream.on('end', () => {
|
|
186
|
+
try {
|
|
187
|
+
resolve(JSON.parse(chunks.join('')));
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
244
190
|
reject(error);
|
|
245
|
-
}
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
stream.on('error', async (error) => {
|
|
194
|
+
reject(error);
|
|
246
195
|
});
|
|
247
196
|
});
|
|
248
197
|
}
|
|
249
198
|
}
|
|
250
|
-
exports.OCI = OCI;
|
|
251
199
|
//# sourceMappingURL=oci.js.map
|
package/lib/oci/oci.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oci.js","sourceRoot":"","sources":["../../src/oci/oci.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oci.js","sourceRoot":"","sources":["../../src/oci/oci.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAOlC,OAAO,EAAC,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAc,MAAM,wBAAwB,CAAC;AAClH,OAAO,EAAC,wBAAwB,EAAE,2BAA2B,EAAC,MAAM,2BAA2B,CAAC;AAEhG,MAAM,OAAO,GAAG;IACP,MAAM,CAAC,eAAe;QAC3B,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAE3B,MAAM,OAAO,GAA2B;YACtC,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,kFAAkF;SACnF,CAAC;QAEF,MAAM,SAAS,GAA2B;YACxC,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,UAAU;SACrB,CAAC;QAEF,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC;QACnD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;QAE/C,IAAI,OAA2B,CAAC;QAChC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,8DAA8D;YAC9D,MAAM,aAAa,GAAI,OAAO,CAAC,MAAM,CAAC,SAAiB,EAAE,WAAW,CAAC;YACrE,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;YACzC,gFAAgF;YAChF,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO;YACL,YAAY,EAAE,MAAM;YACpB,EAAE,EAAE,IAAI;YACR,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,IAAqB;QAC7C,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,MAAM,KAAK,GAAgB,GAAG,CAAC,OAAO,EAAE,CAAC;YAEzC,IAAI,SAAgB,CAAC;YACrB,IAAI,UAAuB,CAAC;YAC5B,MAAM,OAAO,GAA0B,EAAE,CAAC;YAC1C,MAAM,SAAS,GAA6B,EAAE,CAAC;YAC/C,MAAM,MAAM,GAA0B,EAAE,CAAC;YACzC,MAAM,KAAK,GAA4B,EAAE,CAAC;YAE1C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;gBAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC7C,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;wBACrC,SAAS,GAAG,MAAM,GAAG,CAAC,YAAY,CAAQ,MAAM,CAAC,CAAC;oBACpD,CAAC;yBAAM,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;wBAC7C,UAAU,GAAG,MAAM,GAAG,CAAC,YAAY,CAAc,MAAM,CAAC,CAAC;oBAC3D,CAAC;yBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBACxE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;wBAC3C,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;wBACjH,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;4BACtB,OAAO,CAAC,MAAM,CAAC,GAAU,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC5C,CAAC;6BAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;4BAChC,SAAS,CAAC,MAAM,CAAC,GAAa,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjD,CAAC;6BAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC7B,MAAM,CAAC,MAAM,CAAC,GAAU,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC3C,CAAC;6BAAM,CAAC;4BACN,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;wBACvB,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACxE,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACtB,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;gBACpE,CAAC;gBACD,OAAO,CAAC;oBACN,IAAI,EAAE;wBACJ,KAAK,EAAE,SAAS;wBAChB,MAAM,EAAE,UAAU;qBACnB;oBACD,OAAO,EAAE,OAAO;oBAChB,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,KAAK;iBACF,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;gBACxB,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8DAA8D;IACtD,MAAM,CAAC,OAAO,CAAC,IAAS;QAC9B,IAAI,CAAC;YACH,MAAM,KAAK,GAAU,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC,SAAS,KAAK,wBAAwB,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,8DAA8D;IACtD,MAAM,CAAC,UAAU,CAAC,IAAS;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAa,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,QAAQ,CAAC,SAAS,KAAK,2BAA2B,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1F,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,8DAA8D;IACtD,MAAM,CAAC,OAAO,CAAC,IAAS;QAC9B,IAAI,CAAC;YACH,MAAM,KAAK,GAAU,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,8DAA8D;IACtD,MAAM,CAAC,WAAW,CAAC,MAAgB;QACzC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;gBACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACrB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;gBAChC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAI,MAAgB;QACnD,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;gBACxB,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;gBACtB,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACpB,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;gBAC/B,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { GitHubRelease } from '../types/github';
|
|
17
|
-
import { DownloadVersion } from '../types/regclient/regclient';
|
|
16
|
+
import { GitHubRelease } from '../types/github/github.js';
|
|
17
|
+
import { DownloadVersion } from '../types/regclient/regclient.js';
|
|
18
18
|
export interface InstallOpts {
|
|
19
19
|
githubToken?: string;
|
|
20
20
|
}
|
package/lib/regclient/install.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Copyright 2025 actions-toolkit authors
|
|
4
3
|
*
|
|
@@ -14,66 +13,20 @@
|
|
|
14
13
|
* See the License for the specific language governing permissions and
|
|
15
14
|
* limitations under the License.
|
|
16
15
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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 cache_1 = require("../cache");
|
|
72
|
-
const context_1 = require("../context");
|
|
73
|
-
const github_1 = require("../github");
|
|
74
|
-
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 tc from '@actions/tool-cache';
|
|
21
|
+
import * as semver from 'semver';
|
|
22
|
+
import * as util from 'util';
|
|
23
|
+
import { Cache } from '../cache.js';
|
|
24
|
+
import { Context } from '../context.js';
|
|
25
|
+
import { GitHub } from '../github/github.js';
|
|
26
|
+
export class Install {
|
|
27
|
+
githubToken;
|
|
75
28
|
constructor(opts) {
|
|
76
|
-
this.githubToken =
|
|
29
|
+
this.githubToken = opts?.githubToken || process.env.GITHUB_TOKEN;
|
|
77
30
|
}
|
|
78
31
|
/*
|
|
79
32
|
* Download regclient binary from GitHub release
|
|
@@ -81,60 +34,56 @@ class Install {
|
|
|
81
34
|
* @param ghaNoCache: disable binary caching in GitHub Actions cache backend
|
|
82
35
|
* @returns path to the regclient binary
|
|
83
36
|
*/
|
|
84
|
-
download(v, ghaNoCache) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
ghaNoCache: ghaNoCache
|
|
102
|
-
});
|
|
103
|
-
const cacheFoundPath = yield installCache.find();
|
|
104
|
-
if (cacheFoundPath) {
|
|
105
|
-
core.info(`regctl binary found in ${cacheFoundPath}`);
|
|
106
|
-
return cacheFoundPath;
|
|
107
|
-
}
|
|
108
|
-
const downloadURL = util.format(version.downloadURL, vspec, this.filename());
|
|
109
|
-
core.info(`Downloading ${downloadURL}`);
|
|
110
|
-
const htcDownloadPath = yield tc.downloadTool(downloadURL, undefined, this.githubToken);
|
|
111
|
-
core.debug(`Install.download htcDownloadPath: ${htcDownloadPath}`);
|
|
112
|
-
const cacheSavePath = yield installCache.save(htcDownloadPath);
|
|
113
|
-
core.info(`Cached to ${cacheSavePath}`);
|
|
114
|
-
return cacheSavePath;
|
|
37
|
+
async download(v, ghaNoCache) {
|
|
38
|
+
const version = await Install.getDownloadVersion(v);
|
|
39
|
+
core.debug(`Install.download version: ${version.version}`);
|
|
40
|
+
const release = await Install.getRelease(version, this.githubToken);
|
|
41
|
+
core.debug(`Install.download release tag name: ${release.tag_name}`);
|
|
42
|
+
const vspec = await this.vspec(release.tag_name);
|
|
43
|
+
core.debug(`Install.download vspec: ${vspec}`);
|
|
44
|
+
const c = semver.clean(vspec) || '';
|
|
45
|
+
if (!semver.valid(c)) {
|
|
46
|
+
throw new Error(`Invalid regclient version "${vspec}".`);
|
|
47
|
+
}
|
|
48
|
+
const installCache = new Cache({
|
|
49
|
+
htcName: 'regctl-dl-bin',
|
|
50
|
+
htcVersion: vspec,
|
|
51
|
+
baseCacheDir: path.join(os.homedir(), '.bin'),
|
|
52
|
+
cacheFile: os.platform() == 'win32' ? 'regctl.exe' : 'regctl',
|
|
53
|
+
ghaNoCache: ghaNoCache
|
|
115
54
|
});
|
|
55
|
+
const cacheFoundPath = await installCache.find();
|
|
56
|
+
if (cacheFoundPath) {
|
|
57
|
+
core.info(`regctl binary found in ${cacheFoundPath}`);
|
|
58
|
+
return cacheFoundPath;
|
|
59
|
+
}
|
|
60
|
+
const downloadURL = util.format(version.downloadURL, vspec, this.filename());
|
|
61
|
+
core.info(`Downloading ${downloadURL}`);
|
|
62
|
+
const htcDownloadPath = await tc.downloadTool(downloadURL, undefined, this.githubToken);
|
|
63
|
+
core.debug(`Install.download htcDownloadPath: ${htcDownloadPath}`);
|
|
64
|
+
const cacheSavePath = await installCache.save(htcDownloadPath);
|
|
65
|
+
core.info(`Cached to ${cacheSavePath}`);
|
|
66
|
+
return cacheSavePath;
|
|
116
67
|
}
|
|
117
|
-
install(binPath, dest) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
return regctlPath;
|
|
133
|
-
});
|
|
68
|
+
async install(binPath, dest) {
|
|
69
|
+
dest = dest || Context.tmpDir();
|
|
70
|
+
const binDir = path.join(dest, 'regctl-bin');
|
|
71
|
+
if (!fs.existsSync(binDir)) {
|
|
72
|
+
fs.mkdirSync(binDir, { recursive: true });
|
|
73
|
+
}
|
|
74
|
+
const binName = os.platform() == 'win32' ? 'regctl.exe' : 'regctl';
|
|
75
|
+
const regctlPath = path.join(binDir, binName);
|
|
76
|
+
fs.copyFileSync(binPath, regctlPath);
|
|
77
|
+
core.info('Fixing perms');
|
|
78
|
+
fs.chmodSync(regctlPath, '0755');
|
|
79
|
+
core.addPath(binDir);
|
|
80
|
+
core.info('Added regctl to PATH');
|
|
81
|
+
core.info(`Binary path: ${regctlPath}`);
|
|
82
|
+
return regctlPath;
|
|
134
83
|
}
|
|
135
84
|
filename() {
|
|
136
85
|
let arch;
|
|
137
|
-
switch (
|
|
86
|
+
switch (os.arch()) {
|
|
138
87
|
case 'x64': {
|
|
139
88
|
arch = 'amd64';
|
|
140
89
|
break;
|
|
@@ -150,45 +99,38 @@ class Install {
|
|
|
150
99
|
break;
|
|
151
100
|
}
|
|
152
101
|
default: {
|
|
153
|
-
arch =
|
|
102
|
+
arch = os.arch();
|
|
154
103
|
break;
|
|
155
104
|
}
|
|
156
105
|
}
|
|
157
|
-
const platform =
|
|
158
|
-
const ext =
|
|
106
|
+
const platform = os.platform() == 'win32' ? 'windows' : os.platform();
|
|
107
|
+
const ext = os.platform() == 'win32' ? '.exe' : '';
|
|
159
108
|
return util.format('regctl-%s-%s%s', platform, arch, ext);
|
|
160
109
|
}
|
|
161
|
-
vspec(version) {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
return v;
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
static getDownloadVersion(v) {
|
|
169
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
170
|
-
return {
|
|
171
|
-
version: v,
|
|
172
|
-
downloadURL: 'https://github.com/regclient/regclient/releases/download/v%s/%s',
|
|
173
|
-
contentOpts: {
|
|
174
|
-
owner: 'docker',
|
|
175
|
-
repo: 'actions-toolkit',
|
|
176
|
-
ref: 'main',
|
|
177
|
-
path: '.github/regclient-releases.json'
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
});
|
|
110
|
+
async vspec(version) {
|
|
111
|
+
const v = version.replace(/^v+|v+$/g, '');
|
|
112
|
+
core.info(`Use ${v} version spec cache key for ${version}`);
|
|
113
|
+
return v;
|
|
181
114
|
}
|
|
182
|
-
static
|
|
183
|
-
return
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
115
|
+
static async getDownloadVersion(v) {
|
|
116
|
+
return {
|
|
117
|
+
version: v,
|
|
118
|
+
downloadURL: 'https://github.com/regclient/regclient/releases/download/v%s/%s',
|
|
119
|
+
contentOpts: {
|
|
120
|
+
owner: 'docker',
|
|
121
|
+
repo: 'actions-toolkit',
|
|
122
|
+
ref: 'main',
|
|
123
|
+
path: '.github/regclient-releases.json'
|
|
188
124
|
}
|
|
189
|
-
|
|
190
|
-
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
static async getRelease(version, githubToken) {
|
|
128
|
+
const github = new GitHub({ token: githubToken });
|
|
129
|
+
const releases = await github.releases('regclient', version.contentOpts);
|
|
130
|
+
if (!releases[version.version]) {
|
|
131
|
+
throw new Error(`Cannot find regclient release ${version.version} in releases JSON`);
|
|
132
|
+
}
|
|
133
|
+
return releases[version.version];
|
|
191
134
|
}
|
|
192
135
|
}
|
|
193
|
-
exports.Install = Install;
|
|
194
136
|
//# sourceMappingURL=install.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/regclient/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/regclient/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { Manifest } from '../types/oci/manifest';
|
|
16
|
+
import { Manifest } from '../types/oci/manifest.js';
|
|
17
17
|
export interface RegctlOpts {
|
|
18
18
|
binPath?: string;
|
|
19
19
|
}
|