chore(ruby): upgrade to Ruby 3.4 from EOL 2.6.1#442
Merged
Conversation
- Base image ruby:2.6.1-alpine3.9 (EOL March 2020) -> ruby:3.4-alpine for env and builder; builder no longer apk-installs the distro ruby toolchain alongside the base image's ruby - Pin rack "~> 2.2" (Rack 3 removed Rack::Handler and thin's Rack 3 support is incomplete); regenerate Gemfile.lock on ruby 3.4 (rack 2.2.23, thin 2.0.1) with linux gnu/musl amd64+arm64 platforms - fission/specializer.rb: load vendored native-extension dirs for any platform instead of hardcoding x86_64-linux (the env is now musl-based and multi-arch) - builder defaultBuildCmd: replace deprecated `bundle install --deployment` with the bundler 2.x config form - Refresh examples/parse Gemfile.lock (nokogiri 1.12.5 -> 1.19.3, supersedes #366 and #384-adjacent pins) - envconfig runtimeVersion 3.4, version 1.32.0; environments.json regenerated Verified locally: env + builder images build; hello.rb specialize + invoke pass; full package path passes (builder vendors native nokogiri musl gem, directory-mode /v2/specialize 201, invoke parses XML correctly). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
hiberbee/github-action-skaffold@1.27.0 pins skaffold 2.3.1, which cannot parse the repo's skaffold/v4beta13 config, so the ruby job failed whenever it triggered. Use SKAFFOLD_PROFILE=ruby make skaffold-run like the other env jobs (setup-cluster already installs a current skaffold). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
sanketsudake
added a commit
that referenced
this pull request
Jun 6, 2026
Same fix as #442/#443/#444: hiberbee/github-action-skaffold pins skaffold 2.3.1, which cannot parse the repo's skaffold/v4beta13 config. Needed here so the perl job can validate the kind-action hotfix end to end (identical hunk to #444, merges cleanly). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
sanketsudake
added a commit
that referenced
this pull request
Jun 6, 2026
* ci: fix broken setup-kind action with helm/kind-action engineerd/setup-kind v0.6.2 fails with 'File not found: dist/main/index.js' (the tagged commit does not ship the compiled action), breaking the setup-cluster step for every env job. Switch to the maintained helm/kind-action v1.14.0 with cluster_name kind so the kind-kind kubectl context and `kind load docker-image` defaults keep working. Also make collect-fission-dump best effort: a missing fission CLI (setup failed before installing it) or empty dump no longer masks the original job failure. The broken bump in #436 went unnoticed because that PR touched no env directories, so no job exercised setup-cluster pre-merge; this PR includes a perl README link fix so the perl job validates the action end to end. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * ci(perl): run skaffold via make instead of the stale skaffold action Same fix as #442/#443/#444: hiberbee/github-action-skaffold pins skaffold 2.3.1, which cannot parse the repo's skaffold/v4beta13 config. Needed here so the perl job can validate the kind-action hotfix end to end (identical hunk to #444, merges cleanly). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
sanketsudake
added a commit
that referenced
this pull request
Jun 6, 2026
…444) perl: - Pin perl:latest -> perl:5.42 (reproducible builds); envconfig runtimeVersion 5.42, version 1.32.0 tensorflow-serving: - Pin unpinned tensorflow/serving -> tensorflow/serving:2.20.0 (latest stable); upstream publishes amd64 only, so the Makefile target restricts PLATFORMS to linux/amd64 - GO_VERSION 1.13 (EOL 2021) -> 1.26 with go-modules migration: the Dockerfile used a pre-modules GOPATH layout and bare `go get`, which modern Go refuses; now go mod init/tidy/build (resolves pkg/errors + zap) - envconfig runtimeVersion 2.20.0, version 1.32.0 CI: perl and tensorflow jobs drop hiberbee/github-action-skaffold (pins skaffold 2.3.1, which cannot parse our skaffold/v4beta13 config) in favour of make skaffold-run, same as #442/#443. environments.json regenerated. Verified locally: perl image builds and boots (Dancer2 routes respond on perl 5.42.2); tensorflow image builds for linux/amd64 with the modules migration; make dry-run confirms the PLATFORMS override produces a valid amd64-only push for the release flow. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This was referenced Jun 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Part of the dependency-update series (#436–#441). Major upgrade of the ruby environment:
ruby:2.6.1-alpine3.9(EOL March 2020) →ruby:3.4-alpinefor env + builder. The builder also stops apk-installing the distro ruby/bundler alongside the base image's ruby (keptbuild-basefor native gem compilation).~> 2.2(resolves 2.2.23) rather than Rack 3 —server.rbusesRack::Handler::Thin.run, and Rack 3 removed the handler registry while thin's Rack 3 support is incomplete. thin resolves to 2.0.1.Gemfile.lockregenerated on ruby 3.4 with gnu/musl amd64+arm64 platforms.fission/specializer.rb: vendored native-extension load path was hardcoded tox86_64-linux; now matches any platform dir (the image is musl-based and built for amd64+arm64).defaultBuildCmd:bundle install --deployment→ bundler 2.x config form (the flag is deprecated and removal-tracked).examples/parselockfile refreshed: nokogiri 1.12.5 → 1.19.3 (supersedes dependabot Bump nokogiri from 1.12.5 to 1.16.5 in /ruby/examples/parse #366's 1.16.5).envconfig.json:runtimeVersion3.4,version1.31.1 → 1.32.0;environments.jsonregenerated.Verification (local)
ruby:3.4-alpine/v2/specialize(hello.rb) 201 → invoke returns "Hello, world!"defaultBuildCmdonexamples/parse(vendors the native musl nokogiri 1.19.3 gem) → directory-mode/v2/specialize201 → invoke parses XML and returns the message — confirming the new multi-platform vendor loading worksSupersedes
Note: ruby has a build-only CI job (skaffold), no fission e2e test — hence the thorough local verification above.
🤖 Generated with Claude Code