From 32491ae2ad7f0691ec40380465d82e5788cbda0b Mon Sep 17 00:00:00 2001 From: Julien Neuhart Date: Sat, 11 Nov 2023 20:07:07 +0100 Subject: [PATCH] fix(armhf): add an earlier version of Chromium (#717) --- .github/workflows/continuous_integration.yml | 24 -------------------- build/Dockerfile | 7 ++++++ scripts/release.sh | 21 ++--------------- 3 files changed, 9 insertions(+), 43 deletions(-) diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index aa4ad398..08f0f097 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -69,27 +69,3 @@ jobs: run: | make release GOTENBERG_VERSION=edge make release GOTENBERG_VERSION=edge DOCKER_REPOSITORY=thecodingmachine - - # FIXME: temporary job for checking if armhf build is working thanks to an upstream fix. - armhf_build: - if: github.event_name == 'push' && github.ref == 'refs/heads/main' - continue-on-error: true - needs: - - Tests - name: armhf build - runs-on: ubuntu-latest - steps: - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Checkout source code - uses: actions/checkout@v4 - - name: Log in to Docker Hub Container Registry - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build try of armhf Docker image variant - run: | - make release GOTENBERG_VERSION=armhf diff --git a/build/Dockerfile b/build/Dockerfile index 5adcec26..b0f00223 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -37,6 +37,7 @@ ARG GOTENBERG_USER_GID ARG GOTENBERG_USER_UID ARG NOTO_COLOR_EMOJI_VERSION ARG PDFTK_VERSION +ARG TMP_CHOMIUM_VERSION_ARMHF="116.0.5845.180-1~deb12u1" LABEL org.opencontainers.image.title="Gotenberg" \ org.opencontainers.image.description="A Docker-powered stateless API for PDF files." \ @@ -120,6 +121,9 @@ RUN \ # Install either Google Chrome stable on amd64 architecture or # Chromium on other architectures. # See https://github.com/gotenberg/gotenberg/issues/328. + # FIXME: + # armhf is currently not working with the latest version of Chromium. + # See: https://github.com/gotenberg/gotenberg/issues/709. /bin/bash -c \ 'set -e &&\ if [[ "$(dpkg --print-architecture)" == "amd64" ]]; then \ @@ -128,6 +132,9 @@ RUN \ apt-get update -qq &&\ DEBIAN_FRONTEND=noninteractive apt-get install -y -qq --no-install-recommends --allow-unauthenticated google-chrome-stable &&\ mv /usr/bin/google-chrome-stable /usr/bin/chromium; \ + elif [[ "$(dpkg --print-architecture)" == "armhf" ]]; then \ + apt-get update -qq &&\ + DEBIAN_FRONTEND=noninteractive apt-get install -y -qq --no-install-recommends chromium-common="$TMP_CHOMIUM_VERSION_ARMHF" chromium="$TMP_CHOMIUM_VERSION_ARMHF"; \ else \ apt-get update -qq &&\ DEBIAN_FRONTEND=noninteractive apt-get install -y -qq --no-install-recommends chromium; \ diff --git a/scripts/release.sh b/scripts/release.sh index 55fa153b..df50077f 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -10,25 +10,6 @@ NOTO_COLOR_EMOJI_VERSION="$5" PDFTK_VERSION="$6" DOCKER_REPOSITORY="$7" -# FIXME: for whatever reasons, platform linux/arm/v7 (armhf) is not working -# anymore. See https://github.com/gotenberg/gotenberg/issues/709 for more -# details. - -if [ "$GOTENBERG_VERSION" == "armhf" ]; then - docker buildx build \ - --build-arg GOLANG_VERSION="$GOLANG_VERSION" \ - --build-arg GOTENBERG_VERSION="$GOTENBERG_VERSION" \ - --build-arg GOTENBERG_USER_GID="$GOTENBERG_USER_GID" \ - --build-arg GOTENBERG_USER_UID="$GOTENBERG_USER_UID" \ - --build-arg NOTO_COLOR_EMOJI_VERSION="$NOTO_COLOR_EMOJI_VERSION" \ - --build-arg PDFTK_VERSION="$PDFTK_VERSION" \ - --platform linux/arm/v7 \ - -t "$DOCKER_REPOSITORY/gotenberg:armhf" \ - -f build/Dockerfile . - - exit 0 -fi - if [ "$GOTENBERG_VERSION" == "edge" ]; then docker buildx build \ --build-arg GOLANG_VERSION="$GOLANG_VERSION" \ @@ -40,6 +21,7 @@ if [ "$GOTENBERG_VERSION" == "edge" ]; then --platform linux/amd64 \ --platform linux/arm64 \ --platform linux/386 \ + --platform linux/arm/v7 \ -t "$DOCKER_REPOSITORY/gotenberg:edge" \ --push \ -f build/Dockerfile . @@ -76,6 +58,7 @@ docker buildx build \ --platform linux/amd64 \ --platform linux/arm64 \ --platform linux/386 \ + --platform linux/arm/v7 \ -t "$DOCKER_REPOSITORY/gotenberg:latest" \ -t "$DOCKER_REPOSITORY/gotenberg:${SEMVER[0]}" \ -t "$DOCKER_REPOSITORY/gotenberg:${SEMVER[0]}.${SEMVER[1]}" \