mirror of
https://github.com/docker/setup-buildx-action
synced 2024-11-10 06:01:40 +00:00
Add support for more platform (crazy-max/ghaction-docker-buildx#223)
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
parent
54edbcd840
commit
0fc9dc862b
3 changed files with 62 additions and 12 deletions
36
dist/index.js
generated
vendored
36
dist/index.js
generated
vendored
|
@ -2039,12 +2039,8 @@ function install(inputVersion, dockerConfigHome) {
|
||||||
exports.install = install;
|
exports.install = install;
|
||||||
function download(version) {
|
function download(version) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
version = semver.clean(version) || '';
|
|
||||||
const platform = context.osPlat == 'win32' ? 'windows' : context.osPlat;
|
|
||||||
const ext = context.osPlat == 'win32' ? '.exe' : '';
|
|
||||||
const filename = util.format('buildx-v%s.%s-amd64%s', version, platform, ext);
|
|
||||||
const targetFile = context.osPlat == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
|
const targetFile = context.osPlat == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
|
||||||
const downloadUrl = util.format('https://github.com/docker/buildx/releases/download/v%s/%s', version, filename);
|
const downloadUrl = util.format('https://github.com/docker/buildx/releases/download/v%s/%s', version, yield filename(version));
|
||||||
let downloadPath;
|
let downloadPath;
|
||||||
try {
|
try {
|
||||||
core.info(`⬇️ Downloading ${downloadUrl}...`);
|
core.info(`⬇️ Downloading ${downloadUrl}...`);
|
||||||
|
@ -2057,6 +2053,33 @@ function download(version) {
|
||||||
return yield tc.cacheFile(downloadPath, targetFile, 'buildx', version);
|
return yield tc.cacheFile(downloadPath, targetFile, 'buildx', version);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
function filename(version) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let arch;
|
||||||
|
switch (context.osArch) {
|
||||||
|
case 'x64': {
|
||||||
|
arch = 'amd64';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 'ppc64': {
|
||||||
|
arch = 'ppc64le';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 'arm': {
|
||||||
|
const arm_version = process.config.variables.arm_version;
|
||||||
|
arch = arm_version ? 'arm-v' + arm_version : 'arm';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
arch = context.osArch;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const platform = context.osPlat == 'win32' ? 'windows' : context.osPlat;
|
||||||
|
const ext = context.osPlat == 'win32' ? '.exe' : '';
|
||||||
|
return util.format('buildx-v%s.%s-%s%s', version, platform, arch, ext);
|
||||||
|
});
|
||||||
|
}
|
||||||
//# sourceMappingURL=buildx.js.map
|
//# sourceMappingURL=buildx.js.map
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
@ -6540,10 +6563,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.asyncForEach = exports.getInputList = exports.getInputs = exports.osPlat = void 0;
|
exports.asyncForEach = exports.getInputList = exports.getInputs = exports.osArch = exports.osPlat = void 0;
|
||||||
const os = __importStar(__webpack_require__(87));
|
const os = __importStar(__webpack_require__(87));
|
||||||
const core = __importStar(__webpack_require__(186));
|
const core = __importStar(__webpack_require__(186));
|
||||||
exports.osPlat = os.platform();
|
exports.osPlat = os.platform();
|
||||||
|
exports.osArch = os.arch();
|
||||||
function getInputs() {
|
function getInputs() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -92,13 +92,12 @@ export async function install(inputVersion: string, dockerConfigHome: string): P
|
||||||
}
|
}
|
||||||
|
|
||||||
async function download(version: string): Promise<string> {
|
async function download(version: string): Promise<string> {
|
||||||
version = semver.clean(version) || '';
|
|
||||||
const platform: string = context.osPlat == 'win32' ? 'windows' : context.osPlat;
|
|
||||||
const ext: string = context.osPlat == 'win32' ? '.exe' : '';
|
|
||||||
const filename: string = util.format('buildx-v%s.%s-amd64%s', version, platform, ext);
|
|
||||||
const targetFile: string = context.osPlat == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
|
const targetFile: string = context.osPlat == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
|
||||||
|
const downloadUrl = util.format(
|
||||||
const downloadUrl = util.format('https://github.com/docker/buildx/releases/download/v%s/%s', version, filename);
|
'https://github.com/docker/buildx/releases/download/v%s/%s',
|
||||||
|
version,
|
||||||
|
await filename(version)
|
||||||
|
);
|
||||||
let downloadPath: string;
|
let downloadPath: string;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -111,3 +110,29 @@ async function download(version: string): Promise<string> {
|
||||||
|
|
||||||
return await tc.cacheFile(downloadPath, targetFile, 'buildx', version);
|
return await tc.cacheFile(downloadPath, targetFile, 'buildx', version);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function filename(version: string): Promise<string> {
|
||||||
|
let arch: string;
|
||||||
|
switch (context.osArch) {
|
||||||
|
case 'x64': {
|
||||||
|
arch = 'amd64';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 'ppc64': {
|
||||||
|
arch = 'ppc64le';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 'arm': {
|
||||||
|
const arm_version = (process.config.variables as any).arm_version;
|
||||||
|
arch = arm_version ? 'arm-v' + arm_version : 'arm';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
arch = context.osArch;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const platform: string = context.osPlat == 'win32' ? 'windows' : context.osPlat;
|
||||||
|
const ext: string = context.osPlat == 'win32' ? '.exe' : '';
|
||||||
|
return util.format('buildx-v%s.%s-%s%s', version, platform, arch, ext);
|
||||||
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ import * as os from 'os';
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
|
|
||||||
export const osPlat: string = os.platform();
|
export const osPlat: string = os.platform();
|
||||||
|
export const osArch: string = os.arch();
|
||||||
|
|
||||||
export interface Inputs {
|
export interface Inputs {
|
||||||
version: string;
|
version: string;
|
||||||
|
|
Loading…
Reference in a new issue