diff --git a/Jenkinsfile b/Jenkinsfile index c3ebe71..df90beb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -7,7 +7,7 @@ pipeline { axes { axis { name 'DISTRO' - values 'debian:bookworm', 'ubuntu:24.04', 'archlinux:latest', 'fedora:42' + values 'debian:bookworm', 'ubuntu:24.04', 'archlinuxarm:latest', 'fedora:42' } } stages { diff --git a/lib/docker.sh b/lib/docker.sh index b520591..cccbe5c 100644 --- a/lib/docker.sh +++ b/lib/docker.sh @@ -2,9 +2,13 @@ validate_selected_distro() { local selectedDistro="${1:-}" - local validDistros=('debian:bookworm' 'ubuntu:24.04' 'archlinux:latest' 'fedora:42') + local validDistros=( + 'debian:bookworm' 'ubuntu:24.04' + 'archlinux:latest' 'archlinuxarm' + 'fedora:42' + ) for distro in "${validDistros[@]}"; do - if [[ ${selectedDistro} == ${distro} ]]; then + if [[ ${selectedDistro} == "${distro}" ]]; then DISTROS+=("${distro}") fi done @@ -16,11 +20,11 @@ validate_selected_distro() { } # shellcheck disable=SC2154 -FB_FUNC_NAMES+=('docker_build_images') +FB_FUNC_NAMES+=('docker_build_image') # FB_FUNC_DESCS used externally # shellcheck disable=SC2034 -FB_FUNC_DESCS['docker_build_images']='build docker images with required dependencies pre-installed' -docker_build_images() { +FB_FUNC_DESCS['docker_build_image']='build docker image with required dependencies pre-installed' +docker_build_image() { validate_selected_distro "$@" || return 1 DOCKERFILE_DIR="${IGN_DIR}/Dockerfiles" test -d "${DOCKERFILE_DIR}" && rm -rf "${DOCKERFILE_DIR}" @@ -34,7 +38,7 @@ docker_build_images() { # specific file for evaluated package manager info distroFmtPkgMgr="${DOCKERFILE_DIR}/${distroFmt}-pkg_mgr" # get package manager info - docker run --rm -it \ + docker run --rm \ -v "${REPO_DIR}":/workdir \ -w /workdir \ "${distro}" \ @@ -64,6 +68,7 @@ docker_build_images() { -t "${image_tag}" \ -f "${dockerfile}" \ . || return 1 + docker system prune -f done } @@ -71,13 +76,13 @@ docker_build_images() { FB_FUNC_NAMES+=('docker_run_image') # FB_FUNC_DESCS used externally # shellcheck disable=SC2034 -FB_FUNC_DESCS['docker_run_image']='run docker images to build ffmpeg' +FB_FUNC_DESCS['docker_run_image']='run docker image to build ffmpeg' docker_run_image() { docker_build_images "$@" || return 1 for distro in "${DISTROS[@]}"; do image_tag="ffmpeg_builder_${distro}" echo_info "running ffmpeg build for ${image_tag}" - docker run --rm -it \ + docker run --rm \ -v "${REPO_DIR}":/workdir \ -w /workdir \ "${image_tag}" \ diff --git a/scripts/docker_build_images.sh b/scripts/docker_build_image.sh similarity index 100% rename from scripts/docker_build_images.sh rename to scripts/docker_build_image.sh