support multi arch build

This commit is contained in:
David Hiendl 2023-12-02 22:11:59 +01:00
parent 56f48b78ce
commit 5aa14d4bca
3 changed files with 11 additions and 7 deletions

View File

@ -80,7 +80,7 @@ inputs:
description: "" description: ""
default: "1" default: "1"
docker_arch_list: docker_multiarch:
description: "if set to true use linux/amd64,linux/arm64, otherwise specifiy arch list manually" description: "if set to true use linux/amd64,linux/arm64, otherwise specifiy arch list manually"
default: "false" default: "false"

6
dist/index.js vendored
View File

@ -62251,16 +62251,18 @@ function prepareDockerArgs(destinations) {
dockerArgs.unshift(getDockerContextDir()); dockerArgs.unshift(getDockerContextDir());
if (isNonEmptyStr(core.getInput('docker_arch_list'))) { if (isNonEmptyStr(core.getInput('docker_multiarch'))) {
if (!core.getBooleanInput('use_buildx')) { if (!core.getBooleanInput('use_buildx')) {
throw new Error('Unsupported configuration: Cannot build multiarch without enabling buildx'); throw new Error('Unsupported configuration: Cannot build multiarch without enabling buildx');
} }
let archList = (core.getInput('docker_arch_list')); let archList = (core.getInput('docker_multiarch'));
if (archList === 'true' || archList === '1') { if (archList === 'true' || archList === '1') {
archList = 'linux/amd64,linux/arm64'; archList = 'linux/amd64,linux/arm64';
} }
if (archList.length > 0) {
dockerArgs.push('--platform ' + archList); dockerArgs.push('--platform ' + archList);
} }
}
if (core.getBooleanInput('squash_layers')) { if (core.getBooleanInput('squash_layers')) {
dockerArgs.push('--squash'); dockerArgs.push('--squash');

View File

@ -149,16 +149,18 @@ export function prepareDockerArgs(destinations) {
dockerArgs.unshift(getDockerContextDir()); dockerArgs.unshift(getDockerContextDir());
if (isNonEmptyStr(core.getInput('docker_arch_list'))) { if (isNonEmptyStr(core.getInput('docker_multiarch'))) {
if (!core.getBooleanInput('use_buildx')) { if (!core.getBooleanInput('use_buildx')) {
throw new Error('Unsupported configuration: Cannot build multiarch without enabling buildx'); throw new Error('Unsupported configuration: Cannot build multiarch without enabling buildx');
} }
let archList = (core.getInput('docker_arch_list')); let archList = (core.getInput('docker_multiarch'));
if (archList === 'true' || archList === '1') { if (archList === 'true' || archList === '1') {
archList = 'linux/amd64,linux/arm64'; archList = 'linux/amd64,linux/arm64';
} }
if (archList.length > 0) {
dockerArgs.push('--platform ' + archList); dockerArgs.push('--platform ' + archList);
} }
}
if (core.getBooleanInput('squash_layers')) { if (core.getBooleanInput('squash_layers')) {
dockerArgs.push('--squash'); dockerArgs.push('--squash');