diff --git a/podman-build-publish/action.yaml b/podman-build-publish/action.yaml index e06b4a8..4455484 100644 --- a/podman-build-publish/action.yaml +++ b/podman-build-publish/action.yaml @@ -31,6 +31,12 @@ inputs: Example: "ACT_RUNNER_VERSION=0.2.11" required: false default: "" + build-isolation: + description: | + Podman build isolation mode. + Supported values: "chroot" or "oci". + required: false + default: "chroot" push: description: | Whether to push tags to the registry after build. @@ -75,6 +81,15 @@ runs: echo "PODMAN_STORAGE_DRIVER=${selected_driver}" >> "${GITHUB_ENV}" echo "PODMAN_STORAGE_OPT=${selected_storage_opt}" >> "${GITHUB_ENV}" + case "${{ inputs.build-isolation }}" in + chroot|oci) + ;; + *) + echo "ERROR: unsupported build-isolation '${{ inputs.build-isolation }}' (expected 'chroot' or 'oci')" >&2 + exit 1 + ;; + esac + # Validate tags early so failures are caught before build starts mapfile -t tags < <(printf '%s\n' "${{ inputs.tags }}" | tr ', ' '\n\n' | sed '/^$/d') if [[ ${#tags[@]} -eq 0 ]]; then @@ -122,7 +137,7 @@ runs: fi image_base="registry.noctrl.eu/${{ inputs.image-name }}" - build_cmd=(podman "${podman_args[@]}" build --isolation chroot -f "${{ inputs.containerfile }}") + build_cmd=(podman "${podman_args[@]}" build --isolation "${{ inputs.build-isolation }}" -f "${{ inputs.containerfile }}") # Add build args while IFS= read -r build_arg; do