@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.
- package/lib/buildkit/buildkit.js +72 -59
- package/lib/buildkit/buildkit.js.map +1 -1
- package/lib/buildx/bake.d.ts +4 -1
- package/lib/buildx/bake.js +103 -59
- package/lib/buildx/bake.js.map +1 -1
- package/lib/buildx/{inputs.d.ts → build.d.ts} +12 -9
- package/lib/buildx/{inputs.js → build.js} +46 -37
- package/lib/buildx/build.js.map +1 -0
- package/lib/buildx/builder.d.ts +1 -1
- package/lib/buildx/builder.js +50 -34
- package/lib/buildx/builder.js.map +1 -1
- package/lib/buildx/buildx.d.ts +4 -2
- package/lib/buildx/buildx.js +124 -65
- package/lib/buildx/buildx.js.map +1 -1
- package/lib/buildx/install.js +210 -182
- package/lib/buildx/install.js.map +1 -1
- package/lib/cache.js +68 -58
- package/lib/cache.js.map +1 -1
- package/lib/context.js +1 -1
- package/lib/context.js.map +1 -1
- package/lib/docker/docker.js +94 -72
- package/lib/docker/docker.js.map +1 -1
- package/lib/docker/install.js +347 -321
- package/lib/docker/install.js.map +1 -1
- package/lib/dockerhub.js +91 -70
- package/lib/dockerhub.js.map +1 -1
- package/lib/exec.js +19 -6
- package/lib/exec.js.map +1 -1
- package/lib/git.js +132 -101
- package/lib/git.js.map +1 -1
- package/lib/github.d.ts +2 -1
- package/lib/github.js +134 -35
- package/lib/github.js.map +1 -1
- package/lib/index.js +26 -15
- package/lib/index.js.map +1 -1
- package/lib/toolkit.js +0 -6
- package/lib/toolkit.js.map +1 -1
- package/lib/types/bake.d.ts +3 -0
- package/lib/types/build.d.ts +18 -0
- package/lib/types/build.js +18 -0
- package/lib/types/build.js.map +1 -0
- package/lib/types/buildx.d.ts +15 -0
- package/lib/types/github.d.ts +11 -0
- package/lib/util.d.ts +1 -0
- package/lib/util.js +41 -20
- package/lib/util.js.map +1 -1
- package/package.json +3 -1
- package/lib/buildx/inputs.js.map +0 -1
package/lib/cache.js
CHANGED
|
@@ -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
|
};
|
|
@@ -50,12 +59,6 @@ const tc = __importStar(require("@actions/tool-cache"));
|
|
|
50
59
|
const cache = __importStar(require("@actions/cache"));
|
|
51
60
|
const util = __importStar(require("util"));
|
|
52
61
|
class Cache {
|
|
53
|
-
opts;
|
|
54
|
-
ghaCacheKey;
|
|
55
|
-
ghaNoCache;
|
|
56
|
-
cacheDir;
|
|
57
|
-
cachePath;
|
|
58
|
-
static POST_CACHE_KEY = 'postCache';
|
|
59
62
|
constructor(opts) {
|
|
60
63
|
this.opts = opts;
|
|
61
64
|
this.ghaCacheKey = util.format('%s-%s-%s', this.opts.htcName, this.opts.htcVersion, this.platform());
|
|
@@ -66,62 +69,68 @@ class Cache {
|
|
|
66
69
|
fs_1.default.mkdirSync(this.cacheDir, { recursive: true });
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
72
|
+
save(file) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
core.debug(`Cache.save ${file}`);
|
|
75
|
+
const cachePath = this.copyToCache(file);
|
|
76
|
+
const htcPath = yield tc.cacheDir(this.cacheDir, this.opts.htcName, this.opts.htcVersion, this.platform());
|
|
77
|
+
core.debug(`Cache.save cached to hosted tool cache ${htcPath}`);
|
|
78
|
+
if (!this.ghaNoCache && cache.isFeatureAvailable()) {
|
|
79
|
+
core.debug(`Cache.save sending ${this.ghaCacheKey} to post state`);
|
|
80
|
+
core.saveState(Cache.POST_CACHE_KEY, JSON.stringify({
|
|
81
|
+
dir: this.cacheDir,
|
|
82
|
+
key: this.ghaCacheKey
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
return cachePath;
|
|
86
|
+
});
|
|
82
87
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
if (!this.ghaNoCache && cache.isFeatureAvailable()) {
|
|
90
|
-
core.debug(`GitHub Actions cache feature available`);
|
|
91
|
-
if (await cache.restoreCache([this.cacheDir], this.ghaCacheKey)) {
|
|
92
|
-
core.info(`Restored ${this.ghaCacheKey} from GitHub Actions cache`);
|
|
93
|
-
htcPath = await tc.cacheDir(this.cacheDir, this.opts.htcName, this.opts.htcVersion, this.platform());
|
|
94
|
-
core.info(`Cached to hosted tool cache ${htcPath}`);
|
|
88
|
+
find() {
|
|
89
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
let htcPath = tc.find(this.opts.htcName, this.opts.htcVersion, this.platform());
|
|
91
|
+
if (htcPath) {
|
|
92
|
+
core.info(`Restored from hosted tool cache ${htcPath}`);
|
|
95
93
|
return this.copyToCache(`${htcPath}/${this.opts.cacheFile}`);
|
|
96
94
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
95
|
+
if (!this.ghaNoCache && cache.isFeatureAvailable()) {
|
|
96
|
+
core.debug(`GitHub Actions cache feature available`);
|
|
97
|
+
if (yield cache.restoreCache([this.cacheDir], this.ghaCacheKey)) {
|
|
98
|
+
core.info(`Restored ${this.ghaCacheKey} from GitHub Actions cache`);
|
|
99
|
+
htcPath = yield tc.cacheDir(this.cacheDir, this.opts.htcName, this.opts.htcVersion, this.platform());
|
|
100
|
+
core.info(`Cached to hosted tool cache ${htcPath}`);
|
|
101
|
+
return this.copyToCache(`${htcPath}/${this.opts.cacheFile}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else if (this.ghaNoCache) {
|
|
105
|
+
core.info(`GitHub Actions cache disabled`);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
core.info(`GitHub Actions cache feature not available`);
|
|
109
|
+
}
|
|
110
|
+
return '';
|
|
111
|
+
});
|
|
105
112
|
}
|
|
106
|
-
static
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
113
|
+
static post() {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
const state = core.getState(Cache.POST_CACHE_KEY);
|
|
116
|
+
if (!state) {
|
|
117
|
+
core.info(`State not set`);
|
|
118
|
+
return Promise.resolve(undefined);
|
|
119
|
+
}
|
|
120
|
+
let cacheState;
|
|
121
|
+
try {
|
|
122
|
+
cacheState = JSON.parse(state);
|
|
123
|
+
}
|
|
124
|
+
catch (e) {
|
|
125
|
+
throw new Error(`Failed to parse cache post state: ${e}`);
|
|
126
|
+
}
|
|
127
|
+
if (!cacheState.dir || !cacheState.key) {
|
|
128
|
+
throw new Error(`Invalid cache post state: ${state}`);
|
|
129
|
+
}
|
|
130
|
+
core.info(`Caching ${cacheState.key} to GitHub Actions cache`);
|
|
131
|
+
yield cache.saveCache([cacheState.dir], cacheState.key);
|
|
132
|
+
return cacheState;
|
|
133
|
+
});
|
|
125
134
|
}
|
|
126
135
|
copyToCache(file) {
|
|
127
136
|
core.debug(`Copying ${file} to ${this.cachePath}`);
|
|
@@ -135,4 +144,5 @@ class Cache {
|
|
|
135
144
|
}
|
|
136
145
|
}
|
|
137
146
|
exports.Cache = Cache;
|
|
147
|
+
Cache.POST_CACHE_KEY = 'postCache';
|
|
138
148
|
//# sourceMappingURL=cache.js.map
|
package/lib/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
|
package/lib/context.js
CHANGED
|
@@ -49,7 +49,6 @@ const tmp = __importStar(require("tmp"));
|
|
|
49
49
|
const github = __importStar(require("@actions/github"));
|
|
50
50
|
const github_1 = require("./github");
|
|
51
51
|
class Context {
|
|
52
|
-
static _tmpDir = fs_1.default.mkdtempSync(path_1.default.join(Context.ensureDirExists(process.env.RUNNER_TEMP || os_1.default.tmpdir()), 'docker-actions-toolkit-'));
|
|
53
52
|
static ensureDirExists(dir) {
|
|
54
53
|
fs_1.default.mkdirSync(dir, { recursive: true });
|
|
55
54
|
return dir;
|
|
@@ -78,4 +77,5 @@ class Context {
|
|
|
78
77
|
}
|
|
79
78
|
}
|
|
80
79
|
exports.Context = Context;
|
|
80
|
+
Context._tmpDir = fs_1.default.mkdtempSync(path_1.default.join(Context.ensureDirExists(process.env.RUNNER_TEMP || os_1.default.tmpdir()), 'docker-actions-toolkit-'));
|
|
81
81
|
//# sourceMappingURL=context.js.map
|
package/lib/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4CAAoB;AACpB,4CAAoB;AACpB,gDAAwB;AACxB,yCAA2B;AAC3B,wDAA0C;AAE1C,qCAAgC;AAEhC,MAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4CAAoB;AACpB,4CAAoB;AACpB,gDAAwB;AACxB,yCAA2B;AAC3B,wDAA0C;AAE1C,qCAAgC;AAEhC,MAAa,OAAO;IAGV,MAAM,CAAC,eAAe,CAAC,GAAW;QACxC,YAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QACrC,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,MAAM,CAAC,MAAM;QAClB,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,OAA4B;QAChD,OAAO,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,MAAM;QAClB,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QAChC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC/D,MAAM,GAAG,cAAc,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;SAC7C;QACD,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;YAC1D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,UAAU;QACtB,OAAO,GAAG,eAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAChH,CAAC;IAEM,MAAM,CAAC,mBAAmB;QAC/B,OAAO,GAAG,eAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,iBAAiB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7H,CAAC;;AAjCH,0BAkCC;AAjCyB,eAAO,GAAG,YAAE,CAAC,WAAW,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,YAAE,CAAC,MAAM,EAAE,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC"}
|
package/lib/docker/docker.js
CHANGED
|
@@ -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
|
};
|
|
@@ -62,38 +71,46 @@ class Docker {
|
|
|
62
71
|
}
|
|
63
72
|
return JSON.parse(fs_1.default.readFileSync(f, { encoding: 'utf-8' }));
|
|
64
73
|
}
|
|
65
|
-
static
|
|
66
|
-
return
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
static isAvailable() {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
return yield io
|
|
77
|
+
.which('docker', true)
|
|
78
|
+
.then(res => {
|
|
79
|
+
core.debug(`Docker.isAvailable ok: ${res}`);
|
|
80
|
+
return true;
|
|
81
|
+
})
|
|
82
|
+
.catch(error => {
|
|
83
|
+
core.debug(`Docker.isAvailable error: ${error}`);
|
|
84
|
+
return false;
|
|
85
|
+
});
|
|
75
86
|
});
|
|
76
87
|
}
|
|
77
|
-
static
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
return await exec_1.Exec.getExecOutput(`docker`, args, {
|
|
83
|
-
ignoreReturnCode: true,
|
|
84
|
-
silent: true
|
|
85
|
-
}).then(res => {
|
|
86
|
-
if (res.stderr.length > 0 && res.exitCode != 0) {
|
|
87
|
-
throw new Error(res.stderr);
|
|
88
|
+
static context(name) {
|
|
89
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
const args = ['context', 'inspect', '--format', '{{.Name}}'];
|
|
91
|
+
if (name) {
|
|
92
|
+
args.push(name);
|
|
88
93
|
}
|
|
89
|
-
return
|
|
94
|
+
return yield exec_1.Exec.getExecOutput(`docker`, args, {
|
|
95
|
+
ignoreReturnCode: true,
|
|
96
|
+
silent: true
|
|
97
|
+
}).then(res => {
|
|
98
|
+
if (res.stderr.length > 0 && res.exitCode != 0) {
|
|
99
|
+
throw new Error(res.stderr);
|
|
100
|
+
}
|
|
101
|
+
return res.stdout.trim();
|
|
102
|
+
});
|
|
90
103
|
});
|
|
91
104
|
}
|
|
92
|
-
static
|
|
93
|
-
|
|
105
|
+
static printVersion() {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
yield exec_1.Exec.exec('docker', ['version']);
|
|
108
|
+
});
|
|
94
109
|
}
|
|
95
|
-
static
|
|
96
|
-
|
|
110
|
+
static printInfo() {
|
|
111
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
yield exec_1.Exec.exec('docker', ['info']);
|
|
113
|
+
});
|
|
97
114
|
}
|
|
98
115
|
static parseRepoTag(image) {
|
|
99
116
|
let sepPos;
|
|
@@ -124,59 +141,64 @@ class Docker {
|
|
|
124
141
|
tag: 'latest'
|
|
125
142
|
};
|
|
126
143
|
}
|
|
127
|
-
static
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
core.info(`Image found from cache in ${cacheFoundPath}`);
|
|
142
|
-
await exec_1.Exec.getExecOutput(`docker`, ['load', '-i', cacheFoundPath], {
|
|
143
|
-
ignoreReturnCode: true
|
|
144
|
-
}).then(res => {
|
|
145
|
-
if (res.stderr.length > 0 && res.exitCode != 0) {
|
|
146
|
-
core.warning(`Failed to load image from cache: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
let pulled = true;
|
|
152
|
-
await exec_1.Exec.getExecOutput(`docker`, ['pull', image], {
|
|
153
|
-
ignoreReturnCode: true
|
|
154
|
-
}).then(res => {
|
|
155
|
-
if (res.stderr.length > 0 && res.exitCode != 0) {
|
|
156
|
-
pulled = false;
|
|
157
|
-
const err = res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error';
|
|
144
|
+
static pull(image, cache) {
|
|
145
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
146
|
+
const parsedImage = Docker.parseRepoTag(image);
|
|
147
|
+
const repoSanitized = parsedImage.repository.replace(/[^a-zA-Z0-9.]+/g, '--');
|
|
148
|
+
const tagSanitized = parsedImage.tag.replace(/[^a-zA-Z0-9.]+/g, '--');
|
|
149
|
+
const imageCache = new cache_1.Cache({
|
|
150
|
+
htcName: repoSanitized,
|
|
151
|
+
htcVersion: tagSanitized,
|
|
152
|
+
baseCacheDir: path_1.default.join(Docker.configDir, '.cache', 'images', repoSanitized),
|
|
153
|
+
cacheFile: 'image.tar'
|
|
154
|
+
});
|
|
155
|
+
let cacheFoundPath;
|
|
156
|
+
if (cache) {
|
|
157
|
+
cacheFoundPath = yield imageCache.find();
|
|
158
158
|
if (cacheFoundPath) {
|
|
159
|
-
core.
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
159
|
+
core.info(`Image found from cache in ${cacheFoundPath}`);
|
|
160
|
+
yield exec_1.Exec.getExecOutput(`docker`, ['load', '-i', cacheFoundPath], {
|
|
161
|
+
ignoreReturnCode: true
|
|
162
|
+
}).then(res => {
|
|
163
|
+
var _a, _b, _c;
|
|
164
|
+
if (res.stderr.length > 0 && res.exitCode != 0) {
|
|
165
|
+
core.warning(`Failed to load image from cache: ${(_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'}`);
|
|
166
|
+
}
|
|
167
|
+
});
|
|
163
168
|
}
|
|
164
169
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
const imageTarPath = path_1.default.join(context_1.Context.tmpDir(), `${util_1.Util.hash(image)}.tar`);
|
|
168
|
-
await exec_1.Exec.getExecOutput(`docker`, ['save', '-o', imageTarPath, image], {
|
|
170
|
+
let pulled = true;
|
|
171
|
+
yield exec_1.Exec.getExecOutput(`docker`, ['pull', image], {
|
|
169
172
|
ignoreReturnCode: true
|
|
170
|
-
}).then(
|
|
173
|
+
}).then(res => {
|
|
174
|
+
var _a, _b, _c;
|
|
171
175
|
if (res.stderr.length > 0 && res.exitCode != 0) {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
176
|
+
pulled = false;
|
|
177
|
+
const err = (_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';
|
|
178
|
+
if (cacheFoundPath) {
|
|
179
|
+
core.warning(`Failed to pull image, using one from cache: ${err}`);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
throw new Error(err);
|
|
183
|
+
}
|
|
177
184
|
}
|
|
178
185
|
});
|
|
179
|
-
|
|
186
|
+
if (cache && pulled) {
|
|
187
|
+
const imageTarPath = path_1.default.join(context_1.Context.tmpDir(), `${util_1.Util.hash(image)}.tar`);
|
|
188
|
+
yield exec_1.Exec.getExecOutput(`docker`, ['save', '-o', imageTarPath, image], {
|
|
189
|
+
ignoreReturnCode: true
|
|
190
|
+
}).then((res) => __awaiter(this, void 0, void 0, function* () {
|
|
191
|
+
var _a, _b, _c;
|
|
192
|
+
if (res.stderr.length > 0 && res.exitCode != 0) {
|
|
193
|
+
core.warning(`Failed to save image: ${(_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'}`);
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
const cachePath = yield imageCache.save(imageTarPath);
|
|
197
|
+
core.info(`Image cached to ${cachePath}`);
|
|
198
|
+
}
|
|
199
|
+
}));
|
|
200
|
+
}
|
|
201
|
+
});
|
|
180
202
|
}
|
|
181
203
|
}
|
|
182
204
|
exports.Docker = Docker;
|
package/lib/docker/docker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/docker/docker.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/docker/docker.ts"],"names":[],"mappings":"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"}
|