@docker/actions-toolkit 0.1.0-beta.4 → 0.1.0-beta.6

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/README.md CHANGED
@@ -1,3 +1,8 @@
1
+ [![Version](https://img.shields.io/npm/v/@docker/actions-toolkit?label=version&logo=npm&style=flat-square)](https://www.npmjs.com/package/@docker/actions-toolkit)
2
+ [![Downloads](https://img.shields.io/npm/dw/@docker/actions-toolkit?logo=npm&style=flat-square)](https://www.npmjs.com/package/@docker/actions-toolkit)
3
+ [![Test workflow](https://img.shields.io/github/actions/workflow/status/docker/actions-toolkit/test.yml?label=test&logo=github&style=flat-square)](https://github.com/docker/actions-toolkit/actions?workflow=test)
4
+ [![Codecov](https://img.shields.io/codecov/c/github/docker/actions-toolkit?logo=codecov&style=flat-square)](https://codecov.io/gh/docker/actions-toolkit)
5
+
1
6
  # Actions Toolkit
2
7
 
3
8
  Toolkit for Docker (GitHub) Actions.
@@ -17,7 +17,7 @@ import { Context } from '../context';
17
17
  export declare class Config {
18
18
  private readonly context;
19
19
  constructor(context: Context);
20
- generateFromString(s: string): string;
21
- generateFromFile(s: string): string;
22
- private generate;
20
+ resolveFromString(s: string): string;
21
+ resolveFromFile(s: string): string;
22
+ private resolve;
23
23
  }
@@ -24,13 +24,13 @@ class Config {
24
24
  constructor(context) {
25
25
  this.context = context;
26
26
  }
27
- generateFromString(s) {
28
- return this.generate(s, false);
27
+ resolveFromString(s) {
28
+ return this.resolve(s, false);
29
29
  }
30
- generateFromFile(s) {
31
- return this.generate(s, true);
30
+ resolveFromFile(s) {
31
+ return this.resolve(s, true);
32
32
  }
33
- generate(s, file) {
33
+ resolve(s, file) {
34
34
  if (file) {
35
35
  if (!fs_1.default.existsSync(s)) {
36
36
  throw new Error(`config file ${s} not found`);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/buildkit/config.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,4CAAoB;AAIpB,MAAa,MAAM;IAGjB,YAAY,OAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,kBAAkB,CAAC,CAAS;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAEM,gBAAgB,CAAC,CAAS;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,QAAQ,CAAC,CAAS,EAAE,IAAa;QACvC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;aAC/C;YACD,CAAC,GAAG,YAAE,CAAC,YAAY,CAAC,CAAC,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;SAC7C;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAC,CAAC,CAAC;QACzE,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAChC,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AA1BD,wBA0BC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/buildkit/config.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,4CAAoB;AAIpB,MAAa,MAAM;IAGjB,YAAY,OAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,iBAAiB,CAAC,CAAS;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,eAAe,CAAC,CAAS;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAEO,OAAO,CAAC,CAAS,EAAE,IAAa;QACtC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;aAC/C;YACD,CAAC,GAAG,YAAE,CAAC,YAAY,CAAC,CAAC,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;SAC7C;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAC,CAAC,CAAC;QACzE,YAAE,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAChC,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AA1BD,wBA0BC"}
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { Context } from '../context';
17
17
  import { Inputs } from './inputs';
18
- import { Install } from './install';
18
+ import { Cert } from '../types/buildx';
19
19
  export interface BuildxOpts {
20
20
  context: Context;
21
21
  standalone?: boolean;
@@ -24,9 +24,10 @@ export declare class Buildx {
24
24
  private readonly context;
25
25
  private _version;
26
26
  readonly inputs: Inputs;
27
- readonly install: Install;
28
27
  readonly standalone: boolean;
29
28
  constructor(opts: BuildxOpts);
29
+ static get configDir(): string;
30
+ static get certsDir(): string;
30
31
  getCommand(args: Array<string>): {
31
32
  command: string;
32
33
  args: string[];
@@ -37,4 +38,5 @@ export declare class Buildx {
37
38
  printVersion(): Promise<void>;
38
39
  static parseVersion(stdout: string): string;
39
40
  versionSatisfies(range: string, version?: string): Promise<boolean>;
41
+ static resolveCertsDriverOpts(driver: string, endpoint: string, cert: Cert): Array<string>;
40
42
  }
@@ -46,21 +46,30 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
46
46
  step((generator = generator.apply(thisArg, _arguments || [])).next());
47
47
  });
48
48
  };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
49
52
  Object.defineProperty(exports, "__esModule", { value: true });
50
53
  exports.Buildx = void 0;
54
+ const fs_1 = __importDefault(require("fs"));
55
+ const path_1 = __importDefault(require("path"));
51
56
  const exec = __importStar(require("@actions/exec"));
52
57
  const semver = __importStar(require("semver"));
53
58
  const docker_1 = require("../docker");
54
59
  const inputs_1 = require("./inputs");
55
- const install_1 = require("./install");
56
60
  class Buildx {
57
61
  constructor(opts) {
58
62
  var _a;
59
63
  this.context = opts.context;
60
64
  this.inputs = new inputs_1.Inputs(this.context);
61
- this.install = new install_1.Install({ standalone: opts.standalone });
62
65
  this.standalone = (_a = opts === null || opts === void 0 ? void 0 : opts.standalone) !== null && _a !== void 0 ? _a : !docker_1.Docker.isAvailable;
63
66
  }
67
+ static get configDir() {
68
+ return process.env.BUILDX_CONFIG || path_1.default.join(docker_1.Docker.configDir, 'buildx');
69
+ }
70
+ static get certsDir() {
71
+ return path_1.default.join(Buildx.configDir, 'certs');
72
+ }
64
73
  getCommand(args) {
65
74
  return {
66
75
  command: this.standalone ? 'buildx' : 'docker',
@@ -138,6 +147,45 @@ class Buildx {
138
147
  return semver.satisfies(ver, range) || /^[0-9a-f]{7}$/.exec(ver) !== null;
139
148
  });
140
149
  }
150
+ static resolveCertsDriverOpts(driver, endpoint, cert) {
151
+ let url;
152
+ try {
153
+ url = new URL(endpoint);
154
+ }
155
+ catch (e) {
156
+ return [];
157
+ }
158
+ if (url.protocol != 'tcp:') {
159
+ return [];
160
+ }
161
+ const driverOpts = [];
162
+ if (Object.keys(cert).length == 0) {
163
+ return driverOpts;
164
+ }
165
+ let host = url.hostname;
166
+ if (url.port.length > 0) {
167
+ host += `-${url.port}`;
168
+ }
169
+ if (cert.cacert !== undefined) {
170
+ const cacertpath = path_1.default.join(Buildx.certsDir, `cacert_${host}.pem`);
171
+ fs_1.default.writeFileSync(cacertpath, cert.cacert);
172
+ driverOpts.push(`cacert=${cacertpath}`);
173
+ }
174
+ if (cert.cert !== undefined) {
175
+ const certpath = path_1.default.join(Buildx.certsDir, `cert_${host}.pem`);
176
+ fs_1.default.writeFileSync(certpath, cert.cert);
177
+ driverOpts.push(`cert=${certpath}`);
178
+ }
179
+ if (cert.key !== undefined) {
180
+ const keypath = path_1.default.join(Buildx.certsDir, `key_${host}.pem`);
181
+ fs_1.default.writeFileSync(keypath, cert.key);
182
+ driverOpts.push(`key=${keypath}`);
183
+ }
184
+ if (driver != 'remote') {
185
+ return [];
186
+ }
187
+ return driverOpts;
188
+ }
141
189
  }
142
190
  exports.Buildx = Buildx;
143
191
  //# sourceMappingURL=buildx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildx.js","sourceRoot":"","sources":["../../src/buildx/buildx.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAAsC;AACtC,+CAAiC;AAEjC,sCAAiC;AAEjC,qCAAgC;AAChC,uCAAkC;AAOlC,MAAa,MAAM;IAQjB,YAAY,IAAgB;;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,CAAC,eAAM,CAAC,WAAW,CAAC;IAC5D,CAAC;IAEM,UAAU,CAAC,IAAmB;QACnC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YAC9C,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;SACnD,CAAC;IACJ,CAAC;IAEY,WAAW;;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAChC,OAAO,MAAM,IAAI;iBACd,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE;gBACpC,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,IAAI;aACb,CAAC;iBACD,IAAI,CAAC,GAAG,CAAC,EAAE;gBACV,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE;oBAC9C,OAAO,KAAK,CAAC;iBACd;gBACD,OAAO,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC;gBACF,6DAA6D;iBAC5D,KAAK,CAAC,KAAK,CAAC,EAAE;gBACb,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEY,YAAY,CAAC,IAAY;;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE;gBACrC,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;QACL,CAAC;KAAA;IAED,IAAI,OAAO;QACT,OAAO,CAAC,GAAS,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI;qBACvB,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE;oBACpC,gBAAgB,EAAE,IAAI;oBACtB,MAAM,EAAE,IAAI;iBACb,CAAC;qBACD,IAAI,CAAC,GAAG,CAAC,EAAE;oBACV,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE;wBAC9C,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;qBACpC;oBACD,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;aACN;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC,CAAA,CAAC,EAAE,CAAC;IACP,CAAC;IAEY,YAAY;;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE;gBACrC,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;QACL,CAAC;KAAA;IAEM,MAAM,CAAC,YAAY,CAAC,MAAc;QACvC,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAEY,gBAAgB,CAAC,KAAa,EAAE,OAAgB;;YAC3D,MAAM,GAAG,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,EAAE;gBACR,OAAO,KAAK,CAAC;aACd;YACD,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;QAC5E,CAAC;KAAA;CACF;AA1FD,wBA0FC"}
1
+ {"version":3,"file":"buildx.js","sourceRoot":"","sources":["../../src/buildx/buildx.ts"],"names":[],"mappings":"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"}
@@ -19,14 +19,14 @@ export declare class Inputs {
19
19
  constructor(context: Context);
20
20
  getBuildImageIDFilePath(): string;
21
21
  getBuildMetadataFilePath(): string;
22
- getBuildImageID(): string | undefined;
23
- getBuildMetadata(): string | undefined;
24
- getDigest(): string | undefined;
25
- generateBuildSecretString(kvp: string): string;
26
- generateBuildSecretFile(kvp: string): string;
27
- generateBuildSecret(kvp: string, file: boolean): string;
22
+ resolveBuildImageID(): string | undefined;
23
+ resolveBuildMetadata(): string | undefined;
24
+ resolveDigest(): string | undefined;
25
+ resolveBuildSecretString(kvp: string): string;
26
+ resolveBuildSecretFile(kvp: string): string;
27
+ resolveBuildSecret(kvp: string, file: boolean): string;
28
28
  getProvenanceInput(name: string): string;
29
- getProvenanceAttrs(input: string): string;
29
+ resolveProvenanceAttrs(input: string): string;
30
30
  static hasLocalExporter(exporters: string[]): boolean;
31
31
  static hasTarExporter(exporters: string[]): boolean;
32
32
  static hasDockerExporter(exporters: string[], load?: boolean): boolean;
@@ -56,14 +56,14 @@ class Inputs {
56
56
  getBuildMetadataFilePath() {
57
57
  return path_1.default.join(this.context.tmpDir(), 'metadata-file').split(path_1.default.sep).join(path_1.default.posix.sep);
58
58
  }
59
- getBuildImageID() {
59
+ resolveBuildImageID() {
60
60
  const iidFile = this.getBuildImageIDFilePath();
61
61
  if (!fs_1.default.existsSync(iidFile)) {
62
62
  return undefined;
63
63
  }
64
64
  return fs_1.default.readFileSync(iidFile, { encoding: 'utf-8' }).trim();
65
65
  }
66
- getBuildMetadata() {
66
+ resolveBuildMetadata() {
67
67
  const metadataFile = this.getBuildMetadataFilePath();
68
68
  if (!fs_1.default.existsSync(metadataFile)) {
69
69
  return undefined;
@@ -74,8 +74,8 @@ class Inputs {
74
74
  }
75
75
  return content;
76
76
  }
77
- getDigest() {
78
- const metadata = this.getBuildMetadata();
77
+ resolveDigest() {
78
+ const metadata = this.resolveBuildMetadata();
79
79
  if (metadata === undefined) {
80
80
  return undefined;
81
81
  }
@@ -85,13 +85,13 @@ class Inputs {
85
85
  }
86
86
  return undefined;
87
87
  }
88
- generateBuildSecretString(kvp) {
89
- return this.generateBuildSecret(kvp, false);
88
+ resolveBuildSecretString(kvp) {
89
+ return this.resolveBuildSecret(kvp, false);
90
90
  }
91
- generateBuildSecretFile(kvp) {
92
- return this.generateBuildSecret(kvp, true);
91
+ resolveBuildSecretFile(kvp) {
92
+ return this.resolveBuildSecret(kvp, true);
93
93
  }
94
- generateBuildSecret(kvp, file) {
94
+ resolveBuildSecret(kvp, file) {
95
95
  const delimiterIndex = kvp.indexOf('=');
96
96
  const key = kvp.substring(0, delimiterIndex);
97
97
  let value = kvp.substring(delimiterIndex + 1);
@@ -120,10 +120,10 @@ class Inputs {
120
120
  }
121
121
  catch (err) {
122
122
  // not a valid boolean, so we assume it's a string
123
- return this.getProvenanceAttrs(input);
123
+ return this.resolveProvenanceAttrs(input);
124
124
  }
125
125
  }
126
- getProvenanceAttrs(input) {
126
+ resolveProvenanceAttrs(input) {
127
127
  if (!input) {
128
128
  return `builder-id=${this.context.provenanceBuilderID}`;
129
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/buildx/inputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/buildx/inputs.ts"],"names":[],"mappings":"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"}
@@ -13,17 +13,22 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import { Context } from '../context';
16
17
  import { GitHubRelease } from '../types/github';
17
18
  export interface InstallOpts {
19
+ context?: Context;
18
20
  standalone?: boolean;
19
21
  }
20
22
  export declare class Install {
21
- private readonly opts;
23
+ private readonly context;
24
+ private readonly standalone;
22
25
  constructor(opts?: InstallOpts);
23
- install(version: string, dest: string): Promise<string>;
26
+ download(version: string, dest: string): Promise<string>;
27
+ build(gitContext: string, dest: string): Promise<string>;
28
+ private buildCommand;
24
29
  private setStandalone;
25
30
  private setPlugin;
26
- private download;
31
+ private fetchBinary;
27
32
  private platform;
28
33
  private filename;
29
34
  static getRelease(version: string): Promise<GitHubRelease>;
@@ -55,15 +55,22 @@ const fs_1 = __importDefault(require("fs"));
55
55
  const os_1 = __importDefault(require("os"));
56
56
  const path_1 = __importDefault(require("path"));
57
57
  const core = __importStar(require("@actions/core"));
58
+ const exec = __importStar(require("@actions/exec"));
58
59
  const httpm = __importStar(require("@actions/http-client"));
59
60
  const tc = __importStar(require("@actions/tool-cache"));
60
61
  const semver = __importStar(require("semver"));
61
62
  const util = __importStar(require("util"));
63
+ const buildx_1 = require("./buildx");
64
+ const context_1 = require("../context");
65
+ const docker_1 = require("../docker");
66
+ const git_1 = require("../git");
62
67
  class Install {
63
68
  constructor(opts) {
64
- this.opts = opts || {};
69
+ var _a;
70
+ this.context = (opts === null || opts === void 0 ? void 0 : opts.context) || new context_1.Context();
71
+ this.standalone = (_a = opts === null || opts === void 0 ? void 0 : opts.standalone) !== null && _a !== void 0 ? _a : !docker_1.Docker.isAvailable;
65
72
  }
66
- install(version, dest) {
73
+ download(version, dest) {
67
74
  return __awaiter(this, void 0, void 0, function* () {
68
75
  const release = yield Install.getRelease(version);
69
76
  const fversion = release.tag_name.replace(/^v+|v+$/g, '');
@@ -74,14 +81,86 @@ class Install {
74
81
  if (!semver.valid(c)) {
75
82
  throw new Error(`Invalid Buildx version "${fversion}".`);
76
83
  }
77
- toolPath = yield this.download(fversion);
84
+ toolPath = yield this.fetchBinary(fversion);
78
85
  }
79
- if (this.opts.standalone) {
86
+ if (this.standalone) {
80
87
  return this.setStandalone(toolPath, dest);
81
88
  }
82
89
  return this.setPlugin(toolPath, dest);
83
90
  });
84
91
  }
92
+ build(gitContext, dest) {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ // eslint-disable-next-line prefer-const
95
+ let [repo, ref] = gitContext.split('#');
96
+ if (ref.length == 0) {
97
+ ref = 'master';
98
+ }
99
+ let vspec;
100
+ // TODO: include full ref as fingerprint. Use commit sha as best-effort in the meantime.
101
+ if (ref.match(/^[0-9a-fA-F]{40}$/)) {
102
+ vspec = ref;
103
+ }
104
+ else {
105
+ vspec = yield git_1.Git.getRemoteSha(repo, ref);
106
+ }
107
+ core.debug(`Tool version spec ${vspec}`);
108
+ let toolPath;
109
+ toolPath = tc.find('buildx', vspec);
110
+ if (!toolPath) {
111
+ const outputDir = path_1.default.join(this.context.tmpDir(), 'build-cache').split(path_1.default.sep).join(path_1.default.posix.sep);
112
+ const buildCmd = yield this.buildCommand(gitContext, outputDir);
113
+ toolPath = yield exec
114
+ .getExecOutput(buildCmd.command, buildCmd.args, {
115
+ ignoreReturnCode: true
116
+ })
117
+ .then(res => {
118
+ if (res.stderr.length > 0 && res.exitCode != 0) {
119
+ core.warning(res.stderr.trim());
120
+ }
121
+ return tc.cacheFile(`${outputDir}/buildx`, os_1.default.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx', 'buildx', vspec);
122
+ });
123
+ }
124
+ if (this.standalone) {
125
+ return this.setStandalone(toolPath, dest);
126
+ }
127
+ return this.setPlugin(toolPath, dest);
128
+ });
129
+ }
130
+ buildCommand(gitContext, outputDir) {
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ const buildxStandaloneFound = yield new buildx_1.Buildx({ context: this.context, standalone: true }).isAvailable();
133
+ const buildxPluginFound = yield new buildx_1.Buildx({ context: this.context, standalone: false }).isAvailable();
134
+ let buildStandalone = false;
135
+ if (this.standalone && buildxStandaloneFound) {
136
+ core.debug(`Buildx standalone found, build with it`);
137
+ buildStandalone = true;
138
+ }
139
+ else if (!this.standalone && buildxPluginFound) {
140
+ core.debug(`Buildx plugin found, build with it`);
141
+ buildStandalone = false;
142
+ }
143
+ else if (buildxStandaloneFound) {
144
+ core.debug(`Buildx plugin not found, but standalone found so trying to build with it`);
145
+ buildStandalone = true;
146
+ }
147
+ else if (buildxPluginFound) {
148
+ core.debug(`Buildx standalone not found, but plugin found so trying to build with it`);
149
+ buildStandalone = false;
150
+ }
151
+ else {
152
+ throw new Error(`Neither buildx standalone or plugin have been found to build from ref ${gitContext}`);
153
+ }
154
+ //prettier-ignore
155
+ return new buildx_1.Buildx({ context: this.context, standalone: buildStandalone }).getCommand([
156
+ 'build',
157
+ '--target', 'binaries',
158
+ '--build-arg', 'BUILDKIT_CONTEXT_KEEP_GIT_DIR=1',
159
+ '--output', `type=local,dest=${outputDir}`,
160
+ gitContext
161
+ ]);
162
+ });
163
+ }
85
164
  setStandalone(toolPath, dest) {
86
165
  return __awaiter(this, void 0, void 0, function* () {
87
166
  const toolBinPath = path_1.default.join(toolPath, os_1.default.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx');
@@ -111,7 +190,7 @@ class Install {
111
190
  return pluginPath;
112
191
  });
113
192
  }
114
- download(version) {
193
+ fetchBinary(version) {
115
194
  return __awaiter(this, void 0, void 0, function* () {
116
195
  const targetFile = os_1.default.platform() == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
117
196
  const downloadURL = util.format('https://github.com/docker/buildx/releases/download/v%s/%s', version, this.filename(version));
@@ -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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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright 2023 actions-toolkit authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { RepositoryRequest, RepositoryResponse, RepositoryTagsRequest, RepositoryTagsResponse, TokenRequest, UpdateRepoDescriptionRequest } from './types/dockerhub';
17
+ export interface DockerHubOpts {
18
+ credentials: TokenRequest;
19
+ }
20
+ export declare class DockerHub {
21
+ private readonly opts;
22
+ private readonly httpc;
23
+ private constructor();
24
+ static build(opts: DockerHubOpts): Promise<DockerHub>;
25
+ getRepositoryTags(req: RepositoryTagsRequest): Promise<RepositoryTagsResponse>;
26
+ getRepositoryAllTags(req: RepositoryTagsRequest): Promise<RepositoryTagsResponse>;
27
+ getRepository(req: RepositoryRequest): Promise<RepositoryResponse>;
28
+ updateRepoDescription(req: UpdateRepoDescriptionRequest): Promise<RepositoryResponse>;
29
+ private static login;
30
+ private static handleResponse;
31
+ }
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2023 actions-toolkit authors
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
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 (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
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
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.DockerHub = void 0;
51
+ const core = __importStar(require("@actions/core"));
52
+ const httpm = __importStar(require("@actions/http-client"));
53
+ const http_client_1 = require("@actions/http-client");
54
+ const apiBaseURL = 'https://hub.docker.com';
55
+ const loginURL = `${apiBaseURL}/v2/users/login?refresh_token=true`;
56
+ const repositoriesURL = `${apiBaseURL}/v2/repositories/`;
57
+ class DockerHub {
58
+ constructor(opts, httpc) {
59
+ this.opts = opts;
60
+ this.httpc = httpc;
61
+ }
62
+ static build(opts) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ return new DockerHub(opts, new httpm.HttpClient('docker-actions-toolkit', [], {
65
+ headers: {
66
+ Authorization: `JWT ${yield DockerHub.login(opts.credentials)}`,
67
+ 'Content-Type': 'application/json'
68
+ }
69
+ }));
70
+ });
71
+ }
72
+ getRepositoryTags(req) {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ const url = new URL(`${repositoriesURL}${req.namespace}/${req.name}/tags`);
75
+ if (req.page) {
76
+ url.searchParams.append('page', req.page.toString());
77
+ }
78
+ if (req.page_size) {
79
+ url.searchParams.append('page_size', req.page_size.toString());
80
+ }
81
+ const resp = yield this.httpc.get(url.toString());
82
+ return JSON.parse(yield DockerHub.handleResponse(resp));
83
+ });
84
+ }
85
+ getRepositoryAllTags(req) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ const tags = yield this.getRepositoryTags(req);
88
+ while (tags.next) {
89
+ const nextURL = new URL(tags.next);
90
+ const pageNumber = Number(nextURL.searchParams.get('page'));
91
+ const pageSize = Number(nextURL.searchParams.get('page_size')) || undefined;
92
+ const nextTags = yield this.getRepositoryTags({
93
+ namespace: req.namespace,
94
+ name: req.name,
95
+ page: pageNumber,
96
+ page_size: pageSize || req.page_size
97
+ });
98
+ tags.results.push(...nextTags.results);
99
+ tags.next = nextTags.next;
100
+ }
101
+ return tags;
102
+ });
103
+ }
104
+ getRepository(req) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ const resp = yield this.httpc.get(`${repositoriesURL}${req.namespace}/${req.name}`);
107
+ return JSON.parse(yield DockerHub.handleResponse(resp));
108
+ });
109
+ }
110
+ updateRepoDescription(req) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ const body = {
113
+ full_description: req.full_description
114
+ };
115
+ if (req.description) {
116
+ body['description'] = req.description;
117
+ }
118
+ const resp = yield this.httpc.patch(`${repositoriesURL}${req.namespace}/${req.name}`, JSON.stringify(body));
119
+ return JSON.parse(yield DockerHub.handleResponse(resp));
120
+ });
121
+ }
122
+ static login(req) {
123
+ return __awaiter(this, void 0, void 0, function* () {
124
+ const http = new httpm.HttpClient('docker-actions-toolkit', [], {
125
+ headers: {
126
+ 'Content-Type': 'application/json'
127
+ }
128
+ });
129
+ const resp = yield http.post(loginURL, JSON.stringify(req));
130
+ const tokenResp = JSON.parse(yield DockerHub.handleResponse(resp));
131
+ core.setSecret(`${tokenResp.token}`);
132
+ return `${tokenResp.token}`;
133
+ });
134
+ }
135
+ static handleResponse(resp) {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ const body = yield resp.readBody();
138
+ resp.message.statusCode = resp.message.statusCode || http_client_1.HttpCodes.InternalServerError;
139
+ if (resp.message.statusCode < 200 || resp.message.statusCode >= 300) {
140
+ if (resp.message.statusCode == http_client_1.HttpCodes.Unauthorized) {
141
+ throw new Error(`Docker Hub API: operation not permitted`);
142
+ }
143
+ const errResp = JSON.parse(body);
144
+ for (const k of ['message', 'detail', 'error']) {
145
+ if (errResp[k]) {
146
+ throw new Error(`Docker Hub API: bad status code ${resp.message.statusCode}: ${errResp[k]}`);
147
+ }
148
+ }
149
+ throw new Error(`Docker Hub API: bad status code ${resp.message.statusCode}`);
150
+ }
151
+ return body;
152
+ });
153
+ }
154
+ }
155
+ exports.DockerHub = DockerHub;
156
+ //# sourceMappingURL=dockerhub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dockerhub.js","sourceRoot":"","sources":["../src/dockerhub.ts"],"names":[],"mappings":"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"}
package/lib/github.d.ts CHANGED
@@ -26,5 +26,6 @@ export declare class GitHub {
26
26
  static get context(): Context;
27
27
  static get serverURL(): string;
28
28
  static get apiURL(): string;
29
- static get actionsRuntimeToken(): GitHubActionsRuntimeToken;
29
+ static get actionsRuntimeToken(): GitHubActionsRuntimeToken | undefined;
30
+ static printActionsRuntimeTokenACs(): Promise<void>;
30
31
  }
package/lib/github.js CHANGED
@@ -37,11 +37,21 @@ 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
  };
43
52
  Object.defineProperty(exports, "__esModule", { value: true });
44
53
  exports.GitHub = void 0;
54
+ const core = __importStar(require("@actions/core"));
45
55
  const github = __importStar(require("@actions/github"));
46
56
  const jwt_decode_1 = __importDefault(require("jwt-decode"));
47
57
  class GitHub {
@@ -62,7 +72,45 @@ class GitHub {
62
72
  }
63
73
  static get actionsRuntimeToken() {
64
74
  const token = process.env['ACTIONS_RUNTIME_TOKEN'] || '';
65
- return token ? (0, jwt_decode_1.default)(token) : {};
75
+ return token ? (0, jwt_decode_1.default)(token) : undefined;
76
+ }
77
+ static printActionsRuntimeTokenACs() {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ let jwt;
80
+ try {
81
+ jwt = GitHub.actionsRuntimeToken;
82
+ }
83
+ catch (e) {
84
+ core.warning(`Cannot parse Actions Runtime Token: ${e.message}`);
85
+ return;
86
+ }
87
+ if (!jwt) {
88
+ core.warning(`ACTIONS_RUNTIME_TOKEN not set`);
89
+ return;
90
+ }
91
+ try {
92
+ JSON.parse(`${jwt.ac}`).forEach(ac => {
93
+ let permission;
94
+ switch (ac.Permission) {
95
+ case 1:
96
+ permission = 'read';
97
+ break;
98
+ case 2:
99
+ permission = 'write';
100
+ break;
101
+ case 3:
102
+ permission = 'read/write';
103
+ break;
104
+ default:
105
+ permission = `unimplemented (${ac.Permission})`;
106
+ }
107
+ core.info(`${ac.Scope}: ${permission}`);
108
+ });
109
+ }
110
+ catch (e) {
111
+ core.warning(`Cannot parse Actions Runtime Token Access Controls: ${e.message}`);
112
+ }
113
+ });
66
114
  }
67
115
  }
68
116
  exports.GitHub = GitHub;
package/lib/github.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,wDAA0C;AAE1C,4DAAoC;AAQpC,MAAa,MAAM;IAGjB,YAAY,IAAiB;QAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,mBAAK,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAkB,CAAC,CAAC;IAC7G,CAAC;IAED,MAAM,KAAK,OAAO;QAChB,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,MAAM,KAAK,SAAS;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,oBAAoB,CAAC;IAC/D,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,wBAAwB,CAAC;IAChE,CAAC;IAED,MAAM,KAAK,mBAAmB;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAU,EAA4B,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;CACF;AA3BD,wBA2BC"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,oDAAsC;AACtC,wDAA0C;AAE1C,4DAAoC;AAQpC,MAAa,MAAM;IAGjB,YAAY,IAAiB;QAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,mBAAK,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAkB,CAAC,CAAC;IAC7G,CAAC;IAED,MAAM,KAAK,OAAO;QAChB,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,MAAM,KAAK,SAAS;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,oBAAoB,CAAC;IAC/D,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,wBAAwB,CAAC;IAChE,CAAC;IAED,MAAM,KAAK,mBAAmB;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,oBAAU,EAA4B,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,CAAC;IAEM,MAAM,CAAO,2BAA2B;;YAC7C,IAAI,GAA0C,CAAC;YAC/C,IAAI;gBACF,GAAG,GAAG,MAAM,CAAC,mBAAmB,CAAC;aAClC;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjE,OAAO;aACR;YACD,IAAI,CAAC,GAAG,EAAE;gBACR,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;gBAC9C,OAAO;aACR;YACD,IAAI;gBACkC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;oBACvE,IAAI,UAAkB,CAAC;oBACvB,QAAQ,EAAE,CAAC,UAAU,EAAE;wBACrB,KAAK,CAAC;4BACJ,UAAU,GAAG,MAAM,CAAC;4BACpB,MAAM;wBACR,KAAK,CAAC;4BACJ,UAAU,GAAG,OAAO,CAAC;4BACrB,MAAM;wBACR,KAAK,CAAC;4BACJ,UAAU,GAAG,YAAY,CAAC;4BAC1B,MAAM;wBACR;4BACE,UAAU,GAAG,kBAAkB,EAAE,CAAC,UAAU,GAAG,CAAC;qBACnD;oBACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;aACJ;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAClF;QACH,CAAC;KAAA;CACF;AA9DD,wBA8DC"}
package/lib/toolkit.d.ts CHANGED
@@ -15,6 +15,7 @@
15
15
  */
16
16
  import { Context } from './context';
17
17
  import { Buildx } from './buildx/buildx';
18
+ import { Install } from './buildx/install';
18
19
  import { BuildKit } from './buildkit/buildkit';
19
20
  import { GitHub } from './github';
20
21
  export interface ToolkitOpts {
@@ -28,6 +29,7 @@ export declare class Toolkit {
28
29
  context: Context;
29
30
  github: GitHub;
30
31
  buildx: Buildx;
32
+ buildxInstall: Install;
31
33
  buildkit: BuildKit;
32
34
  constructor(opts?: ToolkitOpts);
33
35
  }
package/lib/toolkit.js CHANGED
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.Toolkit = void 0;
19
19
  const context_1 = require("./context");
20
20
  const buildx_1 = require("./buildx/buildx");
21
+ const install_1 = require("./buildx/install");
21
22
  const buildkit_1 = require("./buildkit/buildkit");
22
23
  const github_1 = require("./github");
23
24
  class Toolkit {
@@ -25,6 +26,7 @@ class Toolkit {
25
26
  this.context = new context_1.Context();
26
27
  this.github = new github_1.GitHub({ token: opts.githubToken });
27
28
  this.buildx = new buildx_1.Buildx({ context: this.context });
29
+ this.buildxInstall = new install_1.Install({ context: this.context, standalone: this.buildx.standalone });
28
30
  this.buildkit = new buildkit_1.BuildKit({ context: this.context, buildx: this.buildx });
29
31
  }
30
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toolkit.js","sourceRoot":"","sources":["../src/toolkit.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,uCAAkC;AAClC,4CAAuC;AACvC,kDAA6C;AAC7C,qCAAgC;AAUhC,MAAa,OAAO;IAMlB,YAAY,OAAoB,EAAE;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAC,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;IAC7E,CAAC;CACF;AAZD,0BAYC"}
1
+ {"version":3,"file":"toolkit.js","sourceRoot":"","sources":["../src/toolkit.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,uCAAkC;AAClC,4CAAuC;AACvC,8CAAyC;AACzC,kDAA6C;AAC7C,qCAAgC;AAUhC,MAAa,OAAO;IAOlB,YAAY,OAAoB,EAAE;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAC,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAO,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;IAC7E,CAAC;CACF;AAdD,0BAcC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright 2023 actions-toolkit authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export interface Cert {
17
+ cacert?: string;
18
+ cert?: string;
19
+ key?: string;
20
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2023 actions-toolkit authors
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ //# sourceMappingURL=buildx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildx.js","sourceRoot":"","sources":["../../src/types/buildx.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Copyright 2023 actions-toolkit authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export interface TokenRequest {
17
+ username: string;
18
+ password: string;
19
+ }
20
+ export interface TokenResponse {
21
+ token: string;
22
+ detail: string;
23
+ }
24
+ export interface RepositoryRequest {
25
+ namespace: string;
26
+ name: string;
27
+ }
28
+ export interface RepositoryResponse {
29
+ user: string;
30
+ name: string;
31
+ namespace: string;
32
+ repository_type: string;
33
+ status: number;
34
+ status_description: string;
35
+ description: string;
36
+ is_private: boolean;
37
+ is_automated: boolean;
38
+ can_edit: boolean;
39
+ star_count: number;
40
+ pull_count: number;
41
+ last_updated: string;
42
+ date_registered: string;
43
+ collaborator_count: number;
44
+ affiliation: string;
45
+ hub_user: string;
46
+ has_starred: boolean;
47
+ full_description: string;
48
+ permissions: {
49
+ read: boolean;
50
+ write: boolean;
51
+ admin: boolean;
52
+ };
53
+ media_types: Array<string>;
54
+ content_types: Array<string>;
55
+ }
56
+ export interface RepositoryTagsRequest {
57
+ namespace: string;
58
+ name: string;
59
+ page?: number;
60
+ page_size?: number;
61
+ }
62
+ export interface RepositoryTagsResponse {
63
+ count: number;
64
+ next?: string;
65
+ previous?: string;
66
+ results: Array<RepositoryTagsResult>;
67
+ }
68
+ export interface RepositoryTagsResult {
69
+ creator: number;
70
+ id: number;
71
+ images: Array<RepositoryTagsResultImage>;
72
+ last_updated: Date;
73
+ last_updater: number;
74
+ last_updater_username: string;
75
+ name: string;
76
+ repository: number;
77
+ full_size: number;
78
+ v2: boolean;
79
+ tag_status: string;
80
+ tag_last_pulled: Date;
81
+ tag_last_pushed: Date;
82
+ media_type: string;
83
+ content_type: string;
84
+ digest: string;
85
+ }
86
+ export interface RepositoryTagsResultImage {
87
+ architecture: string;
88
+ features: string;
89
+ variant?: string;
90
+ digest: string;
91
+ os: string;
92
+ os_features: string;
93
+ os_version?: string;
94
+ size: number;
95
+ status: string;
96
+ last_pulled: Date;
97
+ last_pushed: Date;
98
+ }
99
+ export interface UpdateRepoDescriptionRequest {
100
+ name: string;
101
+ namespace: string;
102
+ description?: string;
103
+ full_description: string;
104
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2023 actions-toolkit authors
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ //# sourceMappingURL=dockerhub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dockerhub.js","sourceRoot":"","sources":["../../src/types/dockerhub.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG"}
@@ -25,3 +25,7 @@ export type GitHubRepo = OctoOpenApiTypes['schemas']['repository'];
25
25
  export interface GitHubActionsRuntimeToken extends JwtPayload {
26
26
  ac?: string;
27
27
  }
28
+ export interface GitHubActionsRuntimeTokenAC {
29
+ Scope: string;
30
+ Permission: number;
31
+ }
package/package.json CHANGED
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "name": "@docker/actions-toolkit",
3
+ "version": "0.1.0-beta.6",
3
4
  "description": "Toolkit for Docker (GitHub) Actions",
4
5
  "scripts": {
5
6
  "build": "tsc",
@@ -46,7 +47,7 @@
46
47
  "@actions/github": "^5.1.1",
47
48
  "@actions/http-client": "^2.0.1",
48
49
  "@actions/tool-cache": "^2.0.1",
49
- "csv-parse": "^5.3.4",
50
+ "csv-parse": "^5.3.5",
50
51
  "jwt-decode": "^3.1.2",
51
52
  "semver": "^7.3.8",
52
53
  "tmp": "^0.2.1"
@@ -71,6 +72,5 @@
71
72
  "ts-jest": "^27.1.5",
72
73
  "ts-node": "^10.9.1",
73
74
  "typescript": "^4.9.4"
74
- },
75
- "version": "0.1.0-beta.4"
75
+ }
76
76
  }