diff --git a/.github/workflows/build-publish-containers.yml b/.github/workflows/build-publish-containers.yml index 88b4266b..f54fb4cf 100644 --- a/.github/workflows/build-publish-containers.yml +++ b/.github/workflows/build-publish-containers.yml @@ -33,14 +33,12 @@ jobs: contents: read strategy: matrix: - tag: ['client:rocky8', 'build-node:debian11', 'build-node:debian12', 'build-node:debian13', 'client:ubuntu22.04-macOS-26'] + tag: ['client:rocky8', 'build-node:debian12', 'build-node:debian13', 'client:ubuntu22.04-macOS-26'] platform: [amd64, arm64, riscv64] exclude: # exclude images that don't support RISC-V - tag: client:rocky8 platform: riscv64 - - tag: build-node:debian11 - platform: riscv64 - tag: build-node:debian12 platform: riscv64 # limit the new macOS to arm64 only @@ -105,7 +103,7 @@ jobs: contents: read strategy: matrix: - tag: ['client:rocky8', 'build-node:debian11', 'build-node:debian12', 'build-node:debian13', 'client:ubuntu22.04-macOS-26'] + tag: ['client:rocky8', 'build-node:debian12', 'build-node:debian13', 'client:ubuntu22.04-macOS-26'] steps: - name: Login to GitHub Container Registry if: github.event_name != 'pull_request' diff --git a/containers/Dockerfile.EESSI-build-node-debian12 b/containers/Dockerfile.EESSI-build-node-debian12 index 3f8c339d..a7e7265f 100644 --- a/containers/Dockerfile.EESSI-build-node-debian12 +++ b/containers/Dockerfile.EESSI-build-node-debian12 @@ -1,22 +1,25 @@ -ARG cvmfsversion=2.13.3 -ARG awscliversion=1.40.35 -ARG unionfsfuseversion=3.6 +ARG cvmfsversion=2.14.1 +ARG awscliversion=1.46.2 +ARG unionfsfuseversion=3.8 -FROM debian:12.11 AS prepare-deb +FROM debian:12.15 AS prepare-deb ARG cvmfsversion +ENV DEBIAN_FRONTEND=noninteractive COPY ./containers/build-or-download-cvmfs-debs.sh /build-or-download-cvmfs-debs.sh RUN sh /build-or-download-cvmfs-debs.sh ${cvmfsversion} -FROM debian:12.11 +FROM debian:12.15 ARG cvmfsversion ARG awscliversion ARG unionfsfuseversion +ENV DEBIAN_FRONTEND noninteractive + COPY --from=prepare-deb /root/deb /root/deb -RUN apt-get update +RUN apt-get update && apt-get upgrade -y RUN apt-get install -y sudo vim openssh-client gawk autofs curl attr uuid fuse3 libfuse2 psmisc gdb uuid-dev lsof strace zstd # python3 and jq are required for eessi-upload-to-staging script (next to awscli) RUN apt-get install -y python3-pip jq diff --git a/containers/Dockerfile.EESSI-build-node-debian13 b/containers/Dockerfile.EESSI-build-node-debian13 index 8b391821..5293fa90 100644 --- a/containers/Dockerfile.EESSI-build-node-debian13 +++ b/containers/Dockerfile.EESSI-build-node-debian13 @@ -1,22 +1,25 @@ -ARG cvmfsversion=2.13.3 -ARG awscliversion=1.45.52 -ARG unionfsfuseversion=3.7 +ARG cvmfsversion=2.14.1 +ARG awscliversion=1.46.2 +ARG unionfsfuseversion=3.8 # see https://hub.docker.com/_/debian/tags?name=trixie-20&ordering=last_updated -FROM debian:trixie-20260713-slim AS prepare-deb +FROM debian:13.7-slim AS prepare-deb ARG cvmfsversion +ENV DEBIAN_FRONTEND=noninteractive COPY ./containers/build-or-download-cvmfs-debs.sh /build-or-download-cvmfs-debs.sh RUN sh /build-or-download-cvmfs-debs.sh ${cvmfsversion} -FROM debian:trixie-20260713-slim +FROM debian:13.7-slim ARG cvmfsversion ARG awscliversion ARG unionfsfuseversion +ENV DEBIAN_FRONTEND noninteractive + COPY --from=prepare-deb /root/deb /root/deb -RUN apt-get update +RUN apt-get update && apt-get upgrade -y RUN apt-get install -y sudo vim openssh-client gawk autofs curl attr uuid fuse3 libfuse2 psmisc gdb uuid-dev lsof strace zstd # python3 and jq are required for eessi-upload-to-staging script (next to awscli) RUN apt-get install -y python3-pip jq diff --git a/containers/Dockerfile.EESSI-client-rocky8 b/containers/Dockerfile.EESSI-client-rocky8 index bd2b76e6..d64dc01f 100644 --- a/containers/Dockerfile.EESSI-client-rocky8 +++ b/containers/Dockerfile.EESSI-client-rocky8 @@ -1,4 +1,4 @@ -ARG cvmfsversion=2.13.3 +ARG cvmfsversion=2.14.1 # Stick to old version of fuse-overlayfs due to issues with newer versions # (cfr. https://github.com/containers/fuse-overlayfs/issues/232) ARG fuseoverlayfsversion=1.10 @@ -11,6 +11,7 @@ RUN sh /build-or-download-cvmfs-rpms.sh ${cvmfsversion} FROM rockylinux:8 AS build-fuse-overlayfs ARG fuseoverlayfsversion +RUN yum update -y RUN yum install -y wget fuse3-devel autoconf automake gcc make tar RUN wget https://github.com/containers/fuse-overlayfs/archive/refs/tags/v${fuseoverlayfsversion}.tar.gz \ && tar xzf v${fuseoverlayfsversion}.tar.gz \ @@ -24,8 +25,9 @@ ARG cvmfsversion COPY --from=prepare-rpm /root/rpmbuild/RPMS /root/rpmbuild/RPMS COPY --from=build-fuse-overlayfs /usr/local/bin/fuse-overlayfs /usr/local/bin/fuse-overlayfs +RUN yum update -y RUN yum install -y sudo vim openssh-clients lsof strace squashfs-tools -RUN elversion="$(rpm -q --queryformat '%{RELEASE}' rpm | cut -d '.' -f 2)" \ +RUN elversion="$(rpm -q --queryformat '%{RELEASE}' rpm | cut -d '.' -f 2 | cut -d '_' -f 1)" \ && yum install -y /root/rpmbuild/RPMS/$(uname -m)/cvmfs-${cvmfsversion}-1.${elversion}.$(uname -m).rpm \ /root/rpmbuild/RPMS/$(uname -m)/cvmfs-fuse3-${cvmfsversion}-1.${elversion}.$(uname -m).rpm \ /root/rpmbuild/RPMS/$(uname -m)/cvmfs-libs-${cvmfsversion}-1.${elversion}.$(uname -m).rpm \ diff --git a/containers/Dockerfile.EESSI-client-ubuntu22.04-macOS-26 b/containers/Dockerfile.EESSI-client-ubuntu22.04-macOS-26 index 841b5005..58085224 100644 --- a/containers/Dockerfile.EESSI-client-ubuntu22.04-macOS-26 +++ b/containers/Dockerfile.EESSI-client-ubuntu22.04-macOS-26 @@ -12,6 +12,7 @@ ARG GID=20 RUN set -eux; \ apt-get update -o Acquire::Retries=5 -o Acquire::http::Timeout=30; \ + apt-get upgrade -y; \ apt-get install -y --no-install-recommends \ ca-certificates \ wget \ diff --git a/containers/build-or-download-cvmfs-debs.sh b/containers/build-or-download-cvmfs-debs.sh index 166b6bf3..ac52dc02 100644 --- a/containers/build-or-download-cvmfs-debs.sh +++ b/containers/build-or-download-cvmfs-debs.sh @@ -2,7 +2,7 @@ cvmfsversion=$1 arch=$(dpkg --print-architecture) -apt-get update +apt-get update && apt-get upgrade -y apt-get install -y wget lsb-release distro=$(lsb_release -si | tr [:upper:] [:lower:]) @@ -12,7 +12,7 @@ os="${distro}${release}" if [ "$arch" = "riscv64" ] then - apt-get install -y devscripts libfuse3-dev cmake cpio golang help2man libcap-dev libssl-dev libfuse-dev pkg-config libattr1-dev python3-dev python3-setuptools python3-dev python3-setuptools uuid-dev libz-dev lsb-release + apt-get install -y devscripts libfuse3-dev cmake cpio golang help2man libcap-dev libssl-dev libfuse-dev pkg-config libattr1-dev python3-dev python3-setuptools python3-dev python3-setuptools uuid-dev libz-dev lsb-release libarchive-dev nlohmann-json3-dev cd /tmp wget https://github.com/cvmfs/cvmfs/archive/refs/tags/cvmfs-${cvmfsversion}.tar.gz tar xzf cvmfs-${cvmfsversion}.tar.gz diff --git a/containers/build-or-download-cvmfs-rpms.sh b/containers/build-or-download-cvmfs-rpms.sh index d3a10ad6..45f15033 100644 --- a/containers/build-or-download-cvmfs-rpms.sh +++ b/containers/build-or-download-cvmfs-rpms.sh @@ -2,7 +2,8 @@ cvmfsversion=$1 arch=$(uname -m) yum install -y wget -elversion="$(rpm -q --queryformat '%{RELEASE}' rpm | cut -d '.' -f 2)" +yum update -y +elversion="$(rpm -q --queryformat '%{RELEASE}' rpm | cut -d '.' -f 2 | cut -d '_' -f 1)" if [ "$arch" = "riscv64" ] then yum install -y epel-release