From 61b2d21c1ce0be5d0f9edd573524d61bbe4dab6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= <1005065+DeepDiver1975@users.noreply.github.com> Date: Wed, 10 Jun 2026 00:09:33 +0200 Subject: [PATCH 1/5] chore: migrate from Drone CI to GitHub Actions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace .drone.star with a GitHub Actions workflow that builds multi-arch Docker images (linux/amd64 + linux/arm64/v8) using docker/build-push-action with buildx. All actions are pinned to their release SHAs. Consolidate the per-arch Dockerfiles (Dockerfile.amd64 / Dockerfile.arm64v8) into a single Dockerfile.multiarch per version, using BuildKit TARGETARCH/TARGETVARIANT to select the correct base image. Chrome installation is guarded behind an x86_64 check since no arm64 .deb is available. Co-Authored-By: Claude Sonnet 4.6 Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> --- .github/workflows/docker.yml | 62 +++++++++++++++++++ latest/Dockerfile.arm64v8 | 35 ----------- ...{Dockerfile.amd64 => Dockerfile.multiarch} | 10 ++- v14/Dockerfile.arm64v8 | 35 ----------- ...{Dockerfile.amd64 => Dockerfile.multiarch} | 10 ++- v16/Dockerfile.arm64v8 | 35 ----------- ...{Dockerfile.amd64 => Dockerfile.multiarch} | 10 ++- v18/Dockerfile.arm64v8 | 35 ----------- ...{Dockerfile.amd64 => Dockerfile.multiarch} | 10 ++- v20/Dockerfile.arm64v8 | 35 ----------- ...{Dockerfile.amd64 => Dockerfile.multiarch} | 10 ++- v22/Dockerfile.arm64v8 | 35 ----------- ...{Dockerfile.amd64 => Dockerfile.multiarch} | 10 ++- v24/Dockerfile.arm64v8 | 35 ----------- ...{Dockerfile.amd64 => Dockerfile.multiarch} | 10 ++- 15 files changed, 111 insertions(+), 266 deletions(-) create mode 100644 .github/workflows/docker.yml delete mode 100644 latest/Dockerfile.arm64v8 rename latest/{Dockerfile.amd64 => Dockerfile.multiarch} (82%) delete mode 100644 v14/Dockerfile.arm64v8 rename v14/{Dockerfile.amd64 => Dockerfile.multiarch} (83%) delete mode 100644 v16/Dockerfile.arm64v8 rename v16/{Dockerfile.amd64 => Dockerfile.multiarch} (83%) delete mode 100644 v18/Dockerfile.arm64v8 rename v18/{Dockerfile.amd64 => Dockerfile.multiarch} (83%) delete mode 100644 v20/Dockerfile.arm64v8 rename v20/{Dockerfile.amd64 => Dockerfile.multiarch} (82%) delete mode 100644 v22/Dockerfile.arm64v8 rename v22/{Dockerfile.amd64 => Dockerfile.multiarch} (82%) delete mode 100644 v24/Dockerfile.arm64v8 rename v24/{Dockerfile.amd64 => Dockerfile.multiarch} (82%) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 00000000..3f6d3fdb --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,62 @@ +name: Docker + +on: + push: + branches: + - master + tags: + - "**" + pull_request: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + version: + - latest + - "24" + - "22" + - "20" + - "18" + - "16" + - "14" + steps: + - name: Checkout + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + + - name: Set up QEMU + uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0 + + - name: Login to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Compute build context and tag + id: meta + run: | + if [ "${{ matrix.version }}" = "latest" ]; then + echo "context=latest" >> "$GITHUB_OUTPUT" + echo "tag=owncloudci/nodejs:latest" >> "$GITHUB_OUTPUT" + else + echo "context=v${{ matrix.version }}" >> "$GITHUB_OUTPUT" + echo "tag=owncloudci/nodejs:${{ matrix.version }}" >> "$GITHUB_OUTPUT" + fi + + - name: Build and push + uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0 + with: + context: ${{ steps.meta.outputs.context }} + file: ${{ steps.meta.outputs.context }}/Dockerfile.multiarch + platforms: linux/amd64,linux/arm64/v8 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tag }} diff --git a/latest/Dockerfile.arm64v8 b/latest/Dockerfile.arm64v8 deleted file mode 100644 index d19e3692..00000000 --- a/latest/Dockerfile.arm64v8 +++ /dev/null @@ -1,35 +0,0 @@ -FROM owncloud/ubuntu:22.04-arm64v8@sha256:21fe74802e2a3ac9d73ba854c6551dbddeb6304c69b89150ae215b2ea7566930 - -LABEL maintainer="ownCloud GmbH " \ - org.opencontainers.image.title="ownCloud CI NodeJS" \ - org.opencontainers.image.vendor="ownCloud GmbH" \ - org.opencontainers.image.authors="ownCloud GmbH" \ - org.opencontainers.image.description="ownCloud CI NodeJS" \ - org.opencontainers.image.documentation="https://github.com/owncloud-ci/nodejs.git" \ - org.opencontainers.image.url="https://github.com/owncloud-ci/nodejs" \ - org.opencontainers.image.source="https://github.com/owncloud-ci/nodejs" - -ARG RETRY_VERSION - -# renovate: datasource=github-releases depName=owncloud-ci/retry -ENV RETRY_VERSION="${RETRY_VERSION:-v2.0.0}" -# renovate: datasource=npm depName=pnpm -ENV PNPM_VERSION="${PNPM_VERSION:-10.20.0}" - -VOLUME ["/var/www/owncloud"] - -RUN apt-get update -y && \ - apt-get install -y gettext git-core build-essential libfontconfig libpng16-16 lsb-release firefox && \ - curl -SsfL -o /usr/local/bin/retry "https://github.com/owncloud-ci/retry/releases/download/v${RETRY_VERSION##v}/retry" && \ - chmod 755 /usr/local/bin/retry && \ - curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ - curl -fsSL https://deb.nodesource.com/setup_24.x | bash - && \ - apt-get update -y && \ - apt-get install -y nodejs && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN npm install --silent -g yarn npx "pnpm@$PNPM_VERSION" --force - -COPY rootfs / -WORKDIR /var/www/owncloud diff --git a/latest/Dockerfile.amd64 b/latest/Dockerfile.multiarch similarity index 82% rename from latest/Dockerfile.amd64 rename to latest/Dockerfile.multiarch index 91bd5951..63c35732 100644 --- a/latest/Dockerfile.amd64 +++ b/latest/Dockerfile.multiarch @@ -1,4 +1,6 @@ -FROM owncloud/ubuntu:22.04-amd64@sha256:4c7cd5f9c40b28cd12ce780d7b34cb18ad4a6c7039bbb764d23edc8498ad2e6b +ARG TARGETARCH +ARG TARGETVARIANT +FROM owncloud/ubuntu:22.04-${TARGETARCH}${TARGETVARIANT} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ @@ -26,8 +28,10 @@ RUN apt-get update -y && \ curl -fsSL https://deb.nodesource.com/setup_24.x | bash - && \ apt-get update -y && \ apt-get install -y nodejs && \ - wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ - apt install -y /tmp/google-chrome-stable_current_amd64.deb && \ + if [ "$(uname -m)" = "x86_64" ]; then \ + wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ + apt install -y /tmp/google-chrome-stable_current_amd64.deb; \ + fi && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* diff --git a/v14/Dockerfile.arm64v8 b/v14/Dockerfile.arm64v8 deleted file mode 100644 index c52db56e..00000000 --- a/v14/Dockerfile.arm64v8 +++ /dev/null @@ -1,35 +0,0 @@ -FROM owncloud/ubuntu:20.04-arm64v8@sha256:f2bf53708c8e5393371e106e621e8b458557da2bf7d056a79dc3b3a1ad98cb06 - -LABEL maintainer="ownCloud GmbH " \ - org.opencontainers.image.title="ownCloud CI NodeJS" \ - org.opencontainers.image.vendor="ownCloud GmbH" \ - org.opencontainers.image.authors="ownCloud GmbH" \ - org.opencontainers.image.description="ownCloud CI NodeJS" \ - org.opencontainers.image.documentation="https://github.com/owncloud-ci/nodejs.git" \ - org.opencontainers.image.url="https://github.com/owncloud-ci/nodejs" \ - org.opencontainers.image.source="https://github.com/owncloud-ci/nodejs" - -ARG RETRY_VERSION - -# renovate: datasource=github-releases depName=owncloud-ci/retry -ENV RETRY_VERSION="${RETRY_VERSION:-v2.0.0}" -# renovate: datasource=npm depName=pnpm -ENV PNPM_VERSION="${PNPM_VERSION:-9.15.9}" - -VOLUME ["/var/www/owncloud"] - -RUN apt-get update -y && \ - apt-get install -y gettext git-core build-essential libfontconfig libpng16-16 lsb-release firefox && \ - curl -SsfL -o /usr/local/bin/retry "https://github.com/owncloud-ci/retry/releases/download/v${RETRY_VERSION##v}/retry" && \ - chmod 755 /usr/local/bin/retry && \ - curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ - echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/node.list && \ - apt-get update -y && \ - apt-get install -y nodejs && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN npm install --silent -g yarn npx "pnpm@$PNPM_VERSION" --force - -COPY rootfs / -WORKDIR /var/www/owncloud diff --git a/v14/Dockerfile.amd64 b/v14/Dockerfile.multiarch similarity index 83% rename from v14/Dockerfile.amd64 rename to v14/Dockerfile.multiarch index 4a5a5c6b..ae83d172 100644 --- a/v14/Dockerfile.amd64 +++ b/v14/Dockerfile.multiarch @@ -1,4 +1,6 @@ -FROM owncloud/ubuntu:20.04-amd64@sha256:de7decaa013d5933c855ed2475c36b3d5991a821e847da4be2ceeecb68f3093d +ARG TARGETARCH +ARG TARGETVARIANT +FROM owncloud/ubuntu:20.04-${TARGETARCH}${TARGETVARIANT} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ @@ -26,8 +28,10 @@ RUN apt-get update -y && \ echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/node.list && \ apt-get update -y && \ apt-get install -y nodejs && \ - wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ - apt install -y /tmp/google-chrome-stable_current_amd64.deb && \ + if [ "$(uname -m)" = "x86_64" ]; then \ + wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ + apt install -y /tmp/google-chrome-stable_current_amd64.deb; \ + fi && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* diff --git a/v16/Dockerfile.arm64v8 b/v16/Dockerfile.arm64v8 deleted file mode 100644 index e5481f67..00000000 --- a/v16/Dockerfile.arm64v8 +++ /dev/null @@ -1,35 +0,0 @@ -FROM owncloud/ubuntu:20.04-arm64v8@sha256:f2bf53708c8e5393371e106e621e8b458557da2bf7d056a79dc3b3a1ad98cb06 - -LABEL maintainer="ownCloud GmbH " \ - org.opencontainers.image.title="ownCloud CI NodeJS" \ - org.opencontainers.image.vendor="ownCloud GmbH" \ - org.opencontainers.image.authors="ownCloud GmbH" \ - org.opencontainers.image.description="ownCloud CI NodeJS" \ - org.opencontainers.image.documentation="https://github.com/owncloud-ci/nodejs.git" \ - org.opencontainers.image.url="https://github.com/owncloud-ci/nodejs" \ - org.opencontainers.image.source="https://github.com/owncloud-ci/nodejs" - -ARG RETRY_VERSION - -# renovate: datasource=github-releases depName=owncloud-ci/retry -ENV RETRY_VERSION="${RETRY_VERSION:-v2.0.0}" -# renovate: datasource=npm depName=pnpm -ENV PNPM_VERSION="${PNPM_VERSION:-9.15.9}" - -VOLUME ["/var/www/owncloud"] - -RUN apt-get update -y && \ - apt-get install -y gettext git-core build-essential libfontconfig libpng16-16 lsb-release firefox && \ - curl -SsfL -o /usr/local/bin/retry "https://github.com/owncloud-ci/retry/releases/download/v${RETRY_VERSION##v}/retry" && \ - chmod 755 /usr/local/bin/retry && \ - curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ - echo "deb https://deb.nodesource.com/node_16.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/node.list && \ - apt-get update -y && \ - apt-get install -y nodejs && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN npm install --silent -g yarn npx "pnpm@$PNPM_VERSION" --force - -COPY rootfs / -WORKDIR /var/www/owncloud diff --git a/v16/Dockerfile.amd64 b/v16/Dockerfile.multiarch similarity index 83% rename from v16/Dockerfile.amd64 rename to v16/Dockerfile.multiarch index 3c8e5b9a..64b9672f 100644 --- a/v16/Dockerfile.amd64 +++ b/v16/Dockerfile.multiarch @@ -1,4 +1,6 @@ -FROM owncloud/ubuntu:20.04-amd64@sha256:de7decaa013d5933c855ed2475c36b3d5991a821e847da4be2ceeecb68f3093d +ARG TARGETARCH +ARG TARGETVARIANT +FROM owncloud/ubuntu:20.04-${TARGETARCH}${TARGETVARIANT} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ @@ -26,8 +28,10 @@ RUN apt-get update -y && \ echo "deb https://deb.nodesource.com/node_16.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/node.list && \ apt-get update -y && \ apt-get install -y nodejs && \ - wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ - apt install -y /tmp/google-chrome-stable_current_amd64.deb && \ + if [ "$(uname -m)" = "x86_64" ]; then \ + wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ + apt install -y /tmp/google-chrome-stable_current_amd64.deb; \ + fi && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* diff --git a/v18/Dockerfile.arm64v8 b/v18/Dockerfile.arm64v8 deleted file mode 100644 index 77c706c6..00000000 --- a/v18/Dockerfile.arm64v8 +++ /dev/null @@ -1,35 +0,0 @@ -FROM owncloud/ubuntu:20.04-arm64v8@sha256:f2bf53708c8e5393371e106e621e8b458557da2bf7d056a79dc3b3a1ad98cb06 - -LABEL maintainer="ownCloud GmbH " \ - org.opencontainers.image.title="ownCloud CI NodeJS" \ - org.opencontainers.image.vendor="ownCloud GmbH" \ - org.opencontainers.image.authors="ownCloud GmbH" \ - org.opencontainers.image.description="ownCloud CI NodeJS" \ - org.opencontainers.image.documentation="https://github.com/owncloud-ci/nodejs.git" \ - org.opencontainers.image.url="https://github.com/owncloud-ci/nodejs" \ - org.opencontainers.image.source="https://github.com/owncloud-ci/nodejs" - -ARG RETRY_VERSION - -# renovate: datasource=github-releases depName=owncloud-ci/retry -ENV RETRY_VERSION="${RETRY_VERSION:-v2.0.0}" -# renovate: datasource=npm depName=pnpm -ENV PNPM_VERSION="${PNPM_VERSION:-9.15.9}" - -VOLUME ["/var/www/owncloud"] - -RUN apt-get update -y && \ - apt-get install -y gettext git-core build-essential libfontconfig libpng16-16 lsb-release firefox && \ - curl -SsfL -o /usr/local/bin/retry "https://github.com/owncloud-ci/retry/releases/download/v${RETRY_VERSION##v}/retry" && \ - chmod 755 /usr/local/bin/retry && \ - curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ - echo "deb https://deb.nodesource.com/node_18.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/node.list && \ - apt-get update -y && \ - apt-get install -y nodejs && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN npm install --silent -g yarn npx "pnpm@$PNPM_VERSION" --force - -COPY rootfs / -WORKDIR /var/www/owncloud diff --git a/v18/Dockerfile.amd64 b/v18/Dockerfile.multiarch similarity index 83% rename from v18/Dockerfile.amd64 rename to v18/Dockerfile.multiarch index 0ba8ff2f..223ea79f 100644 --- a/v18/Dockerfile.amd64 +++ b/v18/Dockerfile.multiarch @@ -1,4 +1,6 @@ -FROM owncloud/ubuntu:20.04-amd64@sha256:de7decaa013d5933c855ed2475c36b3d5991a821e847da4be2ceeecb68f3093d +ARG TARGETARCH +ARG TARGETVARIANT +FROM owncloud/ubuntu:20.04-${TARGETARCH}${TARGETVARIANT} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ @@ -26,8 +28,10 @@ RUN apt-get update -y && \ echo "deb https://deb.nodesource.com/node_18.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/node.list && \ apt-get update -y && \ apt-get install -y nodejs && \ - wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ - apt install -y /tmp/google-chrome-stable_current_amd64.deb && \ + if [ "$(uname -m)" = "x86_64" ]; then \ + wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ + apt install -y /tmp/google-chrome-stable_current_amd64.deb; \ + fi && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* diff --git a/v20/Dockerfile.arm64v8 b/v20/Dockerfile.arm64v8 deleted file mode 100644 index 102da919..00000000 --- a/v20/Dockerfile.arm64v8 +++ /dev/null @@ -1,35 +0,0 @@ -FROM owncloud/ubuntu:20.04-arm64v8@sha256:f2bf53708c8e5393371e106e621e8b458557da2bf7d056a79dc3b3a1ad98cb06 - -LABEL maintainer="ownCloud GmbH " \ - org.opencontainers.image.title="ownCloud CI NodeJS" \ - org.opencontainers.image.vendor="ownCloud GmbH" \ - org.opencontainers.image.authors="ownCloud GmbH" \ - org.opencontainers.image.description="ownCloud CI NodeJS" \ - org.opencontainers.image.documentation="https://github.com/owncloud-ci/nodejs.git" \ - org.opencontainers.image.url="https://github.com/owncloud-ci/nodejs" \ - org.opencontainers.image.source="https://github.com/owncloud-ci/nodejs" - -ARG RETRY_VERSION - -# renovate: datasource=github-releases depName=owncloud-ci/retry -ENV RETRY_VERSION="${RETRY_VERSION:-v2.0.0}" -# renovate: datasource=npm depName=pnpm -ENV PNPM_VERSION="${PNPM_VERSION:-9.15.9}" - -VOLUME ["/var/www/owncloud"] - -RUN apt-get update -y && \ - apt-get install -y gettext git-core build-essential libfontconfig libpng16-16 lsb-release firefox && \ - curl -SsfL -o /usr/local/bin/retry "https://github.com/owncloud-ci/retry/releases/download/v${RETRY_VERSION##v}/retry" && \ - chmod 755 /usr/local/bin/retry && \ - curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ - curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ - apt-get update -y && \ - apt-get install -y nodejs=20.19.0-1nodesource1 && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN npm install --silent -g yarn npx "pnpm@$PNPM_VERSION" --force - -COPY rootfs / -WORKDIR /var/www/owncloud diff --git a/v20/Dockerfile.amd64 b/v20/Dockerfile.multiarch similarity index 82% rename from v20/Dockerfile.amd64 rename to v20/Dockerfile.multiarch index 3e773679..5c1f8e1e 100644 --- a/v20/Dockerfile.amd64 +++ b/v20/Dockerfile.multiarch @@ -1,4 +1,6 @@ -FROM owncloud/ubuntu:20.04-amd64@sha256:de7decaa013d5933c855ed2475c36b3d5991a821e847da4be2ceeecb68f3093d +ARG TARGETARCH +ARG TARGETVARIANT +FROM owncloud/ubuntu:20.04-${TARGETARCH}${TARGETVARIANT} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ @@ -26,8 +28,10 @@ RUN apt-get update -y && \ curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ apt-get update -y && \ apt-get install -y nodejs=20.19.0-1nodesource1 && \ - wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ - apt install -y /tmp/google-chrome-stable_current_amd64.deb && \ + if [ "$(uname -m)" = "x86_64" ]; then \ + wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ + apt install -y /tmp/google-chrome-stable_current_amd64.deb; \ + fi && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* diff --git a/v22/Dockerfile.arm64v8 b/v22/Dockerfile.arm64v8 deleted file mode 100644 index d09a2239..00000000 --- a/v22/Dockerfile.arm64v8 +++ /dev/null @@ -1,35 +0,0 @@ -FROM owncloud/ubuntu:22.04-arm64v8@sha256:21fe74802e2a3ac9d73ba854c6551dbddeb6304c69b89150ae215b2ea7566930 - -LABEL maintainer="ownCloud GmbH " \ - org.opencontainers.image.title="ownCloud CI NodeJS" \ - org.opencontainers.image.vendor="ownCloud GmbH" \ - org.opencontainers.image.authors="ownCloud GmbH" \ - org.opencontainers.image.description="ownCloud CI NodeJS" \ - org.opencontainers.image.documentation="https://github.com/owncloud-ci/nodejs.git" \ - org.opencontainers.image.url="https://github.com/owncloud-ci/nodejs" \ - org.opencontainers.image.source="https://github.com/owncloud-ci/nodejs" - -ARG RETRY_VERSION - -# renovate: datasource=github-releases depName=owncloud-ci/retry -ENV RETRY_VERSION="${RETRY_VERSION:-v2.0.0}" -# renovate: datasource=npm depName=pnpm -ENV PNPM_VERSION="${PNPM_VERSION:-10.11.0}" - -VOLUME ["/var/www/owncloud"] - -RUN apt-get update -y && \ - apt-get install -y gettext file git-core build-essential libfontconfig libpng16-16 lsb-release firefox && \ - curl -SsfL -o /usr/local/bin/retry "https://github.com/owncloud-ci/retry/releases/download/v${RETRY_VERSION##v}/retry" && \ - chmod 755 /usr/local/bin/retry && \ - curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ - curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \ - apt-get update -y && \ - apt-get install -y nodejs && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN npm install --silent -g yarn npx "pnpm@$PNPM_VERSION" --force - -COPY rootfs / -WORKDIR /var/www/owncloud diff --git a/v22/Dockerfile.amd64 b/v22/Dockerfile.multiarch similarity index 82% rename from v22/Dockerfile.amd64 rename to v22/Dockerfile.multiarch index e10ed083..c1e6b4e1 100644 --- a/v22/Dockerfile.amd64 +++ b/v22/Dockerfile.multiarch @@ -1,4 +1,6 @@ -FROM owncloud/ubuntu:22.04-amd64@sha256:4c7cd5f9c40b28cd12ce780d7b34cb18ad4a6c7039bbb764d23edc8498ad2e6b +ARG TARGETARCH +ARG TARGETVARIANT +FROM owncloud/ubuntu:22.04-${TARGETARCH}${TARGETVARIANT} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ @@ -26,8 +28,10 @@ RUN apt-get update -y && \ curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \ apt-get update -y && \ apt-get install -y nodejs && \ - wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ - apt install -y /tmp/google-chrome-stable_current_amd64.deb && \ + if [ "$(uname -m)" = "x86_64" ]; then \ + wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ + apt install -y /tmp/google-chrome-stable_current_amd64.deb; \ + fi && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* diff --git a/v24/Dockerfile.arm64v8 b/v24/Dockerfile.arm64v8 deleted file mode 100644 index 93465c1f..00000000 --- a/v24/Dockerfile.arm64v8 +++ /dev/null @@ -1,35 +0,0 @@ -FROM owncloud/ubuntu:22.04-arm64v8@sha256:21fe74802e2a3ac9d73ba854c6551dbddeb6304c69b89150ae215b2ea7566930 - -LABEL maintainer="ownCloud GmbH " \ - org.opencontainers.image.title="ownCloud CI NodeJS" \ - org.opencontainers.image.vendor="ownCloud GmbH" \ - org.opencontainers.image.authors="ownCloud GmbH" \ - org.opencontainers.image.description="ownCloud CI NodeJS" \ - org.opencontainers.image.documentation="https://github.com/owncloud-ci/nodejs.git" \ - org.opencontainers.image.url="https://github.com/owncloud-ci/nodejs" \ - org.opencontainers.image.source="https://github.com/owncloud-ci/nodejs" - -ARG RETRY_VERSION - -# renovate: datasource=github-releases depName=owncloud-ci/retry -ENV RETRY_VERSION="${RETRY_VERSION:-v2.0.0}" -# renovate: datasource=npm depName=pnpm -ENV PNPM_VERSION="${PNPM_VERSION:-10.20.0}" - -VOLUME ["/var/www/owncloud"] - -RUN apt-get update -y && \ - apt-get install -y gettext file git-core build-essential libfontconfig libpng16-16 lsb-release firefox && \ - curl -SsfL -o /usr/local/bin/retry "https://github.com/owncloud-ci/retry/releases/download/v${RETRY_VERSION##v}/retry" && \ - chmod 755 /usr/local/bin/retry && \ - curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ - curl -fsSL https://deb.nodesource.com/setup_24.x | bash - && \ - apt-get update -y && \ - apt-get install -y nodejs && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN npm install --silent -g yarn npx "pnpm@$PNPM_VERSION" --force - -COPY rootfs / -WORKDIR /var/www/owncloud diff --git a/v24/Dockerfile.amd64 b/v24/Dockerfile.multiarch similarity index 82% rename from v24/Dockerfile.amd64 rename to v24/Dockerfile.multiarch index f30755ae..d0faa8fa 100644 --- a/v24/Dockerfile.amd64 +++ b/v24/Dockerfile.multiarch @@ -1,4 +1,6 @@ -FROM owncloud/ubuntu:22.04-amd64@sha256:4c7cd5f9c40b28cd12ce780d7b34cb18ad4a6c7039bbb764d23edc8498ad2e6b +ARG TARGETARCH +ARG TARGETVARIANT +FROM owncloud/ubuntu:22.04-${TARGETARCH}${TARGETVARIANT} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ @@ -26,8 +28,10 @@ RUN apt-get update -y && \ curl -fsSL https://deb.nodesource.com/setup_24.x | bash - && \ apt-get update -y && \ apt-get install -y nodejs && \ - wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ - apt install -y /tmp/google-chrome-stable_current_amd64.deb && \ + if [ "$(uname -m)" = "x86_64" ]; then \ + wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ + apt install -y /tmp/google-chrome-stable_current_amd64.deb; \ + fi && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* From 4fe3e8fb6c2f4b43186b3ed4b2de9a7836e30fd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= <1005065+DeepDiver1975@users.noreply.github.com> Date: Wed, 10 Jun 2026 00:16:46 +0200 Subject: [PATCH 2/5] fix: use multi-stage FROM to select base image per arch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TARGETVARIANT is not set by buildx for linux/arm64/v8 on GitHub-hosted runners, so \${TARGETARCH}\${TARGETVARIANT} expanded to 'arm64' instead of 'arm64v8', causing the build to fail with 'image not found'. Replace the single parametric FROM with two named base stages and select between them using TARGETARCH (which is reliably set to 'amd64' or 'arm64'). Co-Authored-By: Claude Sonnet 4.6 Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> --- latest/Dockerfile.multiarch | 6 ++++-- v14/Dockerfile.multiarch | 6 ++++-- v16/Dockerfile.multiarch | 6 ++++-- v18/Dockerfile.multiarch | 6 ++++-- v20/Dockerfile.multiarch | 6 ++++-- v22/Dockerfile.multiarch | 6 ++++-- v24/Dockerfile.multiarch | 6 ++++-- 7 files changed, 28 insertions(+), 14 deletions(-) diff --git a/latest/Dockerfile.multiarch b/latest/Dockerfile.multiarch index 63c35732..44b437a9 100644 --- a/latest/Dockerfile.multiarch +++ b/latest/Dockerfile.multiarch @@ -1,6 +1,8 @@ +FROM owncloud/ubuntu:22.04-amd64@sha256:4c7cd5f9c40b28cd12ce780d7b34cb18ad4a6c7039bbb764d23edc8498ad2e6b AS base-amd64 +FROM owncloud/ubuntu:22.04-arm64v8@sha256:21fe74802e2a3ac9d73ba854c6551dbddeb6304c69b89150ae215b2ea7566930 AS base-arm64 + ARG TARGETARCH -ARG TARGETVARIANT -FROM owncloud/ubuntu:22.04-${TARGETARCH}${TARGETVARIANT} +FROM base-${TARGETARCH} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ diff --git a/v14/Dockerfile.multiarch b/v14/Dockerfile.multiarch index ae83d172..2d2a2b68 100644 --- a/v14/Dockerfile.multiarch +++ b/v14/Dockerfile.multiarch @@ -1,6 +1,8 @@ +FROM owncloud/ubuntu:20.04-amd64@sha256:de7decaa013d5933c855ed2475c36b3d5991a821e847da4be2ceeecb68f3093d AS base-amd64 +FROM owncloud/ubuntu:20.04-arm64v8@sha256:f2bf53708c8e5393371e106e621e8b458557da2bf7d056a79dc3b3a1ad98cb06 AS base-arm64 + ARG TARGETARCH -ARG TARGETVARIANT -FROM owncloud/ubuntu:20.04-${TARGETARCH}${TARGETVARIANT} +FROM base-${TARGETARCH} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ diff --git a/v16/Dockerfile.multiarch b/v16/Dockerfile.multiarch index 64b9672f..d4c7983d 100644 --- a/v16/Dockerfile.multiarch +++ b/v16/Dockerfile.multiarch @@ -1,6 +1,8 @@ +FROM owncloud/ubuntu:20.04-amd64@sha256:de7decaa013d5933c855ed2475c36b3d5991a821e847da4be2ceeecb68f3093d AS base-amd64 +FROM owncloud/ubuntu:20.04-arm64v8@sha256:f2bf53708c8e5393371e106e621e8b458557da2bf7d056a79dc3b3a1ad98cb06 AS base-arm64 + ARG TARGETARCH -ARG TARGETVARIANT -FROM owncloud/ubuntu:20.04-${TARGETARCH}${TARGETVARIANT} +FROM base-${TARGETARCH} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ diff --git a/v18/Dockerfile.multiarch b/v18/Dockerfile.multiarch index 223ea79f..437ec529 100644 --- a/v18/Dockerfile.multiarch +++ b/v18/Dockerfile.multiarch @@ -1,6 +1,8 @@ +FROM owncloud/ubuntu:20.04-amd64@sha256:de7decaa013d5933c855ed2475c36b3d5991a821e847da4be2ceeecb68f3093d AS base-amd64 +FROM owncloud/ubuntu:20.04-arm64v8@sha256:f2bf53708c8e5393371e106e621e8b458557da2bf7d056a79dc3b3a1ad98cb06 AS base-arm64 + ARG TARGETARCH -ARG TARGETVARIANT -FROM owncloud/ubuntu:20.04-${TARGETARCH}${TARGETVARIANT} +FROM base-${TARGETARCH} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ diff --git a/v20/Dockerfile.multiarch b/v20/Dockerfile.multiarch index 5c1f8e1e..29eabb00 100644 --- a/v20/Dockerfile.multiarch +++ b/v20/Dockerfile.multiarch @@ -1,6 +1,8 @@ +FROM owncloud/ubuntu:20.04-amd64@sha256:de7decaa013d5933c855ed2475c36b3d5991a821e847da4be2ceeecb68f3093d AS base-amd64 +FROM owncloud/ubuntu:20.04-arm64v8@sha256:f2bf53708c8e5393371e106e621e8b458557da2bf7d056a79dc3b3a1ad98cb06 AS base-arm64 + ARG TARGETARCH -ARG TARGETVARIANT -FROM owncloud/ubuntu:20.04-${TARGETARCH}${TARGETVARIANT} +FROM base-${TARGETARCH} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ diff --git a/v22/Dockerfile.multiarch b/v22/Dockerfile.multiarch index c1e6b4e1..f95e7ddf 100644 --- a/v22/Dockerfile.multiarch +++ b/v22/Dockerfile.multiarch @@ -1,6 +1,8 @@ +FROM owncloud/ubuntu:22.04-amd64@sha256:4c7cd5f9c40b28cd12ce780d7b34cb18ad4a6c7039bbb764d23edc8498ad2e6b AS base-amd64 +FROM owncloud/ubuntu:22.04-arm64v8@sha256:21fe74802e2a3ac9d73ba854c6551dbddeb6304c69b89150ae215b2ea7566930 AS base-arm64 + ARG TARGETARCH -ARG TARGETVARIANT -FROM owncloud/ubuntu:22.04-${TARGETARCH}${TARGETVARIANT} +FROM base-${TARGETARCH} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ diff --git a/v24/Dockerfile.multiarch b/v24/Dockerfile.multiarch index d0faa8fa..04ff7aec 100644 --- a/v24/Dockerfile.multiarch +++ b/v24/Dockerfile.multiarch @@ -1,6 +1,8 @@ +FROM owncloud/ubuntu:22.04-amd64@sha256:4c7cd5f9c40b28cd12ce780d7b34cb18ad4a6c7039bbb764d23edc8498ad2e6b AS base-amd64 +FROM owncloud/ubuntu:22.04-arm64v8@sha256:21fe74802e2a3ac9d73ba854c6551dbddeb6304c69b89150ae215b2ea7566930 AS base-arm64 + ARG TARGETARCH -ARG TARGETVARIANT -FROM owncloud/ubuntu:22.04-${TARGETARCH}${TARGETVARIANT} +FROM base-${TARGETARCH} LABEL maintainer="ownCloud GmbH " \ org.opencontainers.image.title="ownCloud CI NodeJS" \ From 997b22680c7aa401ecfda259ed22f2d119f0fc9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= <1005065+DeepDiver1975@users.noreply.github.com> Date: Wed, 10 Jun 2026 00:39:35 +0200 Subject: [PATCH 3/5] chore: drop Node.js v14, v16, v18 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove version directories and workflow matrix entries for EOL Node.js versions 14, 16, and 18. Co-Authored-By: Claude Sonnet 4.6 Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> --- .github/workflows/docker.yml | 3 --- v14/Dockerfile.multiarch | 43 ------------------------------------ v14/manifest.tmpl | 11 --------- v14/rootfs/.keep | 0 v16/Dockerfile.multiarch | 43 ------------------------------------ v16/manifest.tmpl | 11 --------- v16/rootfs/.keep | 0 v18/Dockerfile.multiarch | 43 ------------------------------------ v18/manifest.tmpl | 11 --------- v18/rootfs/.keep | 0 10 files changed, 165 deletions(-) delete mode 100644 v14/Dockerfile.multiarch delete mode 100644 v14/manifest.tmpl delete mode 100644 v14/rootfs/.keep delete mode 100644 v16/Dockerfile.multiarch delete mode 100644 v16/manifest.tmpl delete mode 100644 v16/rootfs/.keep delete mode 100644 v18/Dockerfile.multiarch delete mode 100644 v18/manifest.tmpl delete mode 100644 v18/rootfs/.keep diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 3f6d3fdb..7624701c 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -21,9 +21,6 @@ jobs: - "24" - "22" - "20" - - "18" - - "16" - - "14" steps: - name: Checkout uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 diff --git a/v14/Dockerfile.multiarch b/v14/Dockerfile.multiarch deleted file mode 100644 index 2d2a2b68..00000000 --- a/v14/Dockerfile.multiarch +++ /dev/null @@ -1,43 +0,0 @@ -FROM owncloud/ubuntu:20.04-amd64@sha256:de7decaa013d5933c855ed2475c36b3d5991a821e847da4be2ceeecb68f3093d AS base-amd64 -FROM owncloud/ubuntu:20.04-arm64v8@sha256:f2bf53708c8e5393371e106e621e8b458557da2bf7d056a79dc3b3a1ad98cb06 AS base-arm64 - -ARG TARGETARCH -FROM base-${TARGETARCH} - -LABEL maintainer="ownCloud GmbH " \ - org.opencontainers.image.title="ownCloud CI NodeJS" \ - org.opencontainers.image.vendor="ownCloud GmbH" \ - org.opencontainers.image.authors="ownCloud GmbH" \ - org.opencontainers.image.description="ownCloud CI NodeJS" \ - org.opencontainers.image.documentation="https://github.com/owncloud-ci/nodejs.git" \ - org.opencontainers.image.url="https://github.com/owncloud-ci/nodejs" \ - org.opencontainers.image.source="https://github.com/owncloud-ci/nodejs" - -ARG RETRY_VERSION - -# renovate: datasource=github-releases depName=owncloud-ci/retry -ENV RETRY_VERSION="${RETRY_VERSION:-v2.0.0}" -# renovate: datasource=npm depName=pnpm -ENV PNPM_VERSION="${PNPM_VERSION:-9.15.9}" - -VOLUME ["/var/www/owncloud"] - -RUN apt-get update -y && \ - apt-get install -y gettext git-core build-essential libfontconfig libpng16-16 lsb-release firefox && \ - curl -SsfL -o /usr/local/bin/retry "https://github.com/owncloud-ci/retry/releases/download/v${RETRY_VERSION##v}/retry" && \ - chmod 755 /usr/local/bin/retry && \ - curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ - echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/node.list && \ - apt-get update -y && \ - apt-get install -y nodejs && \ - if [ "$(uname -m)" = "x86_64" ]; then \ - wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ - apt install -y /tmp/google-chrome-stable_current_amd64.deb; \ - fi && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN npm install --silent -g yarn npx "pnpm@$PNPM_VERSION" --force - -COPY rootfs / -WORKDIR /var/www/owncloud diff --git a/v14/manifest.tmpl b/v14/manifest.tmpl deleted file mode 100644 index a8b56750..00000000 --- a/v14/manifest.tmpl +++ /dev/null @@ -1,11 +0,0 @@ -image: owncloudci/nodejs:14 -manifests: - - image: owncloudci/nodejs:14-amd64 - platform: - architecture: amd64 - os: linux - - image: owncloudci/nodejs:14-arm64v8 - platform: - architecture: arm64 - variant: v8 - os: linux diff --git a/v14/rootfs/.keep b/v14/rootfs/.keep deleted file mode 100644 index e69de29b..00000000 diff --git a/v16/Dockerfile.multiarch b/v16/Dockerfile.multiarch deleted file mode 100644 index d4c7983d..00000000 --- a/v16/Dockerfile.multiarch +++ /dev/null @@ -1,43 +0,0 @@ -FROM owncloud/ubuntu:20.04-amd64@sha256:de7decaa013d5933c855ed2475c36b3d5991a821e847da4be2ceeecb68f3093d AS base-amd64 -FROM owncloud/ubuntu:20.04-arm64v8@sha256:f2bf53708c8e5393371e106e621e8b458557da2bf7d056a79dc3b3a1ad98cb06 AS base-arm64 - -ARG TARGETARCH -FROM base-${TARGETARCH} - -LABEL maintainer="ownCloud GmbH " \ - org.opencontainers.image.title="ownCloud CI NodeJS" \ - org.opencontainers.image.vendor="ownCloud GmbH" \ - org.opencontainers.image.authors="ownCloud GmbH" \ - org.opencontainers.image.description="ownCloud CI NodeJS" \ - org.opencontainers.image.documentation="https://github.com/owncloud-ci/nodejs.git" \ - org.opencontainers.image.url="https://github.com/owncloud-ci/nodejs" \ - org.opencontainers.image.source="https://github.com/owncloud-ci/nodejs" - -ARG RETRY_VERSION - -# renovate: datasource=github-releases depName=owncloud-ci/retry -ENV RETRY_VERSION="${RETRY_VERSION:-v2.0.0}" -# renovate: datasource=npm depName=pnpm -ENV PNPM_VERSION="${PNPM_VERSION:-9.15.9}" - -VOLUME ["/var/www/owncloud"] - -RUN apt-get update -y && \ - apt-get install -y gettext git-core build-essential libfontconfig libpng16-16 lsb-release firefox && \ - curl -SsfL -o /usr/local/bin/retry "https://github.com/owncloud-ci/retry/releases/download/v${RETRY_VERSION##v}/retry" && \ - chmod 755 /usr/local/bin/retry && \ - curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ - echo "deb https://deb.nodesource.com/node_16.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/node.list && \ - apt-get update -y && \ - apt-get install -y nodejs && \ - if [ "$(uname -m)" = "x86_64" ]; then \ - wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ - apt install -y /tmp/google-chrome-stable_current_amd64.deb; \ - fi && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN npm install --silent -g yarn npx "pnpm@$PNPM_VERSION" --force - -COPY rootfs / -WORKDIR /var/www/owncloud diff --git a/v16/manifest.tmpl b/v16/manifest.tmpl deleted file mode 100644 index 6721e0fd..00000000 --- a/v16/manifest.tmpl +++ /dev/null @@ -1,11 +0,0 @@ -image: owncloudci/nodejs:16 -manifests: - - image: owncloudci/nodejs:16-amd64 - platform: - architecture: amd64 - os: linux - - image: owncloudci/nodejs:16-arm64v8 - platform: - architecture: arm64 - variant: v8 - os: linux diff --git a/v16/rootfs/.keep b/v16/rootfs/.keep deleted file mode 100644 index e69de29b..00000000 diff --git a/v18/Dockerfile.multiarch b/v18/Dockerfile.multiarch deleted file mode 100644 index 437ec529..00000000 --- a/v18/Dockerfile.multiarch +++ /dev/null @@ -1,43 +0,0 @@ -FROM owncloud/ubuntu:20.04-amd64@sha256:de7decaa013d5933c855ed2475c36b3d5991a821e847da4be2ceeecb68f3093d AS base-amd64 -FROM owncloud/ubuntu:20.04-arm64v8@sha256:f2bf53708c8e5393371e106e621e8b458557da2bf7d056a79dc3b3a1ad98cb06 AS base-arm64 - -ARG TARGETARCH -FROM base-${TARGETARCH} - -LABEL maintainer="ownCloud GmbH " \ - org.opencontainers.image.title="ownCloud CI NodeJS" \ - org.opencontainers.image.vendor="ownCloud GmbH" \ - org.opencontainers.image.authors="ownCloud GmbH" \ - org.opencontainers.image.description="ownCloud CI NodeJS" \ - org.opencontainers.image.documentation="https://github.com/owncloud-ci/nodejs.git" \ - org.opencontainers.image.url="https://github.com/owncloud-ci/nodejs" \ - org.opencontainers.image.source="https://github.com/owncloud-ci/nodejs" - -ARG RETRY_VERSION - -# renovate: datasource=github-releases depName=owncloud-ci/retry -ENV RETRY_VERSION="${RETRY_VERSION:-v2.0.0}" -# renovate: datasource=npm depName=pnpm -ENV PNPM_VERSION="${PNPM_VERSION:-9.15.9}" - -VOLUME ["/var/www/owncloud"] - -RUN apt-get update -y && \ - apt-get install -y gettext git-core build-essential libfontconfig libpng16-16 lsb-release firefox && \ - curl -SsfL -o /usr/local/bin/retry "https://github.com/owncloud-ci/retry/releases/download/v${RETRY_VERSION##v}/retry" && \ - chmod 755 /usr/local/bin/retry && \ - curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ - echo "deb https://deb.nodesource.com/node_18.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/node.list && \ - apt-get update -y && \ - apt-get install -y nodejs && \ - if [ "$(uname -m)" = "x86_64" ]; then \ - wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ - apt install -y /tmp/google-chrome-stable_current_amd64.deb; \ - fi && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN npm install --silent -g yarn npx "pnpm@$PNPM_VERSION" --force - -COPY rootfs / -WORKDIR /var/www/owncloud diff --git a/v18/manifest.tmpl b/v18/manifest.tmpl deleted file mode 100644 index 548b0a87..00000000 --- a/v18/manifest.tmpl +++ /dev/null @@ -1,11 +0,0 @@ -image: owncloudci/nodejs:18 -manifests: - - image: owncloudci/nodejs:18-amd64 - platform: - architecture: amd64 - os: linux - - image: owncloudci/nodejs:18-arm64v8 - platform: - architecture: arm64 - variant: v8 - os: linux diff --git a/v18/rootfs/.keep b/v18/rootfs/.keep deleted file mode 100644 index e69de29b..00000000 From 1272f0254ee701caab004b1ead44ce1ef2144ca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= <1005065+DeepDiver1975@users.noreply.github.com> Date: Wed, 10 Jun 2026 09:50:21 +0200 Subject: [PATCH 4/5] chore: use DOCKERHUB_USERNAME var and DOCKERHUB_TOKEN secret MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> --- .github/workflows/docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 7624701c..86b2f05c 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -35,8 +35,8 @@ jobs: if: github.event_name != 'pull_request' uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0 with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} + username: ${{ vars.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Compute build context and tag id: meta From ca1b29e8ebbf2610bbde8b687d00bd946d5f499d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= <1005065+DeepDiver1975@users.noreply.github.com> Date: Wed, 10 Jun 2026 09:51:08 +0200 Subject: [PATCH 5/5] chore: drop latest version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> --- .github/workflows/docker.yml | 10 ++------- latest/Dockerfile.multiarch | 43 ------------------------------------ latest/manifest.tmpl | 11 --------- latest/rootfs/.keep | 0 4 files changed, 2 insertions(+), 62 deletions(-) delete mode 100644 latest/Dockerfile.multiarch delete mode 100644 latest/manifest.tmpl delete mode 100644 latest/rootfs/.keep diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 86b2f05c..0cad0dde 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -17,7 +17,6 @@ jobs: fail-fast: false matrix: version: - - latest - "24" - "22" - "20" @@ -41,13 +40,8 @@ jobs: - name: Compute build context and tag id: meta run: | - if [ "${{ matrix.version }}" = "latest" ]; then - echo "context=latest" >> "$GITHUB_OUTPUT" - echo "tag=owncloudci/nodejs:latest" >> "$GITHUB_OUTPUT" - else - echo "context=v${{ matrix.version }}" >> "$GITHUB_OUTPUT" - echo "tag=owncloudci/nodejs:${{ matrix.version }}" >> "$GITHUB_OUTPUT" - fi + echo "context=v${{ matrix.version }}" >> "$GITHUB_OUTPUT" + echo "tag=owncloudci/nodejs:${{ matrix.version }}" >> "$GITHUB_OUTPUT" - name: Build and push uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7.2.0 diff --git a/latest/Dockerfile.multiarch b/latest/Dockerfile.multiarch deleted file mode 100644 index 44b437a9..00000000 --- a/latest/Dockerfile.multiarch +++ /dev/null @@ -1,43 +0,0 @@ -FROM owncloud/ubuntu:22.04-amd64@sha256:4c7cd5f9c40b28cd12ce780d7b34cb18ad4a6c7039bbb764d23edc8498ad2e6b AS base-amd64 -FROM owncloud/ubuntu:22.04-arm64v8@sha256:21fe74802e2a3ac9d73ba854c6551dbddeb6304c69b89150ae215b2ea7566930 AS base-arm64 - -ARG TARGETARCH -FROM base-${TARGETARCH} - -LABEL maintainer="ownCloud GmbH " \ - org.opencontainers.image.title="ownCloud CI NodeJS" \ - org.opencontainers.image.vendor="ownCloud GmbH" \ - org.opencontainers.image.authors="ownCloud GmbH" \ - org.opencontainers.image.description="ownCloud CI NodeJS" \ - org.opencontainers.image.documentation="https://github.com/owncloud-ci/nodejs.git" \ - org.opencontainers.image.url="https://github.com/owncloud-ci/nodejs" \ - org.opencontainers.image.source="https://github.com/owncloud-ci/nodejs" - -ARG RETRY_VERSION - -# renovate: datasource=github-releases depName=owncloud-ci/retry -ENV RETRY_VERSION="${RETRY_VERSION:-v2.0.0}" -# renovate: datasource=npm depName=pnpm -ENV PNPM_VERSION="${PNPM_VERSION:-10.20.0}" - -VOLUME ["/var/www/owncloud"] - -RUN apt-get update -y && \ - apt-get install -y gettext git-core build-essential libfontconfig libpng16-16 lsb-release firefox && \ - curl -SsfL -o /usr/local/bin/retry "https://github.com/owncloud-ci/retry/releases/download/v${RETRY_VERSION##v}/retry" && \ - chmod 755 /usr/local/bin/retry && \ - curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ - curl -fsSL https://deb.nodesource.com/setup_24.x | bash - && \ - apt-get update -y && \ - apt-get install -y nodejs && \ - if [ "$(uname -m)" = "x86_64" ]; then \ - wget -q -P /tmp https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ - apt install -y /tmp/google-chrome-stable_current_amd64.deb; \ - fi && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - -RUN npm install --silent -g yarn npx "pnpm@$PNPM_VERSION" --force - -COPY rootfs / -WORKDIR /var/www/owncloud diff --git a/latest/manifest.tmpl b/latest/manifest.tmpl deleted file mode 100644 index 224c9b99..00000000 --- a/latest/manifest.tmpl +++ /dev/null @@ -1,11 +0,0 @@ -image: owncloudci/nodejs:latest -manifests: - - image: owncloudci/nodejs:amd64 - platform: - architecture: amd64 - os: linux - - image: owncloudci/nodejs:arm64v8 - platform: - architecture: arm64 - variant: v8 - os: linux diff --git a/latest/rootfs/.keep b/latest/rootfs/.keep deleted file mode 100644 index e69de29b..00000000