From 1937188fd676d5fd13fd588034de74dfae3cbbbb Mon Sep 17 00:00:00 2001 From: Ain Tohvri Date: Tue, 30 Jun 2026 15:58:30 +0200 Subject: [PATCH 1/5] Bump version to 3.4.10 --- Dockerfile | 4 ++-- README.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8d9f66e..5258423 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ -FROM ruby:3.4.9 +FROM ruby:3.4.10 -LABEL version="3.4.9" +LABEL version="3.4.10" LABEL maintainer="Ain Tohvri " RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.cloud.google.com/apt cloud-sdk main" \ diff --git a/README.md b/README.md index 2d11ee1..350aeec 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Google Cloud capable Docker image for Ruby. ## Features -- Ruby 3.4.9 +- Ruby 3.4.10 - Node.js v22 - gcloud - Bundler From 08c2d000431b86708df7c1e5c0a8481ff9dc2396 Mon Sep 17 00:00:00 2001 From: Ain Tohvri Date: Tue, 30 Jun 2026 16:05:14 +0200 Subject: [PATCH 2/5] Switch to built-in corpack without need to install --- Dockerfile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5258423..069d977 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,8 +14,7 @@ RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.c apt install -y --no-install-recommends \ google-cloud-sdk nodejs chromium python3-setuptools imagemagick libmagickwand-dev xvfb && \ ln -sf /usr/bin/chromium /usr/local/bin/google-chrome && \ - npm install -g corepack && \ - yarn set version stable && \ - rm -f /package.json && \ + corepack enable && \ + corepack prepare yarn@stable --activate && \ apt autoremove -y && apt autoclean && \ rm -rf /var/lib/apt/lists/* /var/lib/cache/* From 4f18218b5ee467f35880abcf4ebb74eaddc90fe5 Mon Sep 17 00:00:00 2001 From: Ain Tohvri Date: Tue, 30 Jun 2026 16:08:46 +0200 Subject: [PATCH 3/5] Move to apt-get, remove reundant cleans and paths - apt is for interactive, avoid warnings by moving to apt-get - /var/lib/cache/ is a wrong path, includes nothing, remove --- Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 069d977..13b73cd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,11 +10,11 @@ RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] http://packages.c curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg && \ echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" \ | tee /etc/apt/sources.list.d/nodesource.list && \ - apt update && \ - apt install -y --no-install-recommends \ + apt-get update && \ + apt-get install -y --no-install-recommends \ google-cloud-sdk nodejs chromium python3-setuptools imagemagick libmagickwand-dev xvfb && \ ln -sf /usr/bin/chromium /usr/local/bin/google-chrome && \ corepack enable && \ corepack prepare yarn@stable --activate && \ - apt autoremove -y && apt autoclean && \ - rm -rf /var/lib/apt/lists/* /var/lib/cache/* + apt-get clean && \ + rm -rf /var/lib/apt/lists/* From 7381bdd197a832c3d0cd37478dc4824355e93d79 Mon Sep 17 00:00:00 2001 From: Ain Tohvri Date: Tue, 30 Jun 2026 18:26:18 +0200 Subject: [PATCH 4/5] Add GitHub Actions cron to check Hub release Despite announcement, no versions have been tagged on Docker Hub --- .github/workflows/watch-ruby.yml | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .github/workflows/watch-ruby.yml diff --git a/.github/workflows/watch-ruby.yml b/.github/workflows/watch-ruby.yml new file mode 100644 index 0000000..01eb8c9 --- /dev/null +++ b/.github/workflows/watch-ruby.yml @@ -0,0 +1,41 @@ +name: Watch Ruby tag + +on: + schedule: + - cron: "0 7 * * *" + workflow_dispatch: + +permissions: + pull-requests: write + +env: + WATCH_BRANCH: feature/ruby-3_4_10 + +jobs: + check: + runs-on: ubuntu-latest + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_REPO: ${{ github.repository }} + steps: + - name: Check Docker Hub for the pinned ruby tag + run: | + # feature/ruby-3_4_10 -> 3.4.10 + RUBY_TAG=$(echo "$WATCH_BRANCH" | sed -E 's#.*ruby-##; s#_#.#g') + echo "watching ruby:${RUBY_TAG} (from $WATCH_BRANCH)" + + # find the open PR for that branch; if none, there's nothing to watch + PR=$(gh pr list --head "$WATCH_BRANCH" --state open \ + --json number --jq '.[0].number // empty') + [ -n "$PR" ] || { echo "no open PR for $WATCH_BRANCH — done"; exit 0; } + + code=$(curl -s -o /dev/null -w '%{http_code}' \ + "https://hub.docker.com/v2/repositories/library/ruby/tags/${RUBY_TAG}") + echo "ruby:${RUBY_TAG} -> HTTP $code" + [ "$code" = "200" ] || exit 0 + + # comment once, not every night + seen=$(gh pr view "$PR" --json comments \ + --jq "[.comments[].body | select(contains(\"ruby:${RUBY_TAG} is live\"))] | length") + [ "$seen" = "0" ] && gh pr comment "$PR" \ + --body "\`ruby:${RUBY_TAG}\` is live on Docker Hub — safe to merge this PR." From 79b14d80529543c136e6202bc09104ee223278a4 Mon Sep 17 00:00:00 2001 From: Ain Tohvri Date: Tue, 30 Jun 2026 18:38:03 +0200 Subject: [PATCH 5/5] Revert "Add GitHub Actions cron to check Hub release" This reverts commit 7381bdd197a832c3d0cd37478dc4824355e93d79. --- .github/workflows/watch-ruby.yml | 41 -------------------------------- 1 file changed, 41 deletions(-) delete mode 100644 .github/workflows/watch-ruby.yml diff --git a/.github/workflows/watch-ruby.yml b/.github/workflows/watch-ruby.yml deleted file mode 100644 index 01eb8c9..0000000 --- a/.github/workflows/watch-ruby.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: Watch Ruby tag - -on: - schedule: - - cron: "0 7 * * *" - workflow_dispatch: - -permissions: - pull-requests: write - -env: - WATCH_BRANCH: feature/ruby-3_4_10 - -jobs: - check: - runs-on: ubuntu-latest - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GH_REPO: ${{ github.repository }} - steps: - - name: Check Docker Hub for the pinned ruby tag - run: | - # feature/ruby-3_4_10 -> 3.4.10 - RUBY_TAG=$(echo "$WATCH_BRANCH" | sed -E 's#.*ruby-##; s#_#.#g') - echo "watching ruby:${RUBY_TAG} (from $WATCH_BRANCH)" - - # find the open PR for that branch; if none, there's nothing to watch - PR=$(gh pr list --head "$WATCH_BRANCH" --state open \ - --json number --jq '.[0].number // empty') - [ -n "$PR" ] || { echo "no open PR for $WATCH_BRANCH — done"; exit 0; } - - code=$(curl -s -o /dev/null -w '%{http_code}' \ - "https://hub.docker.com/v2/repositories/library/ruby/tags/${RUBY_TAG}") - echo "ruby:${RUBY_TAG} -> HTTP $code" - [ "$code" = "200" ] || exit 0 - - # comment once, not every night - seen=$(gh pr view "$PR" --json comments \ - --jq "[.comments[].body | select(contains(\"ruby:${RUBY_TAG} is live\"))] | length") - [ "$seen" = "0" ] && gh pr comment "$PR" \ - --body "\`ruby:${RUBY_TAG}\` is live on Docker Hub — safe to merge this PR."