Skip to content

Conversation

@AliSoftware
Copy link
Contributor

@AliSoftware AliSoftware commented Aug 8, 2025

Fix

This is to fix an issue with the install of the nokogiri gem on the tumblr-metal agent on CI. That tumblr-metal agent, especially used by some tasks of the release automation, doesn't have the necessary version of GLIBC_2.28, but the job is trying to install the precompiled nokogiri.so from our gem cache… which was previously built by an agent that had it. So there's a mismatch in the nokogiri.so file in the gem cache and the dependency requirements on GLIBC_2.28 not being satisfied on tumblr-metal

The solution is to enforce BUNDLE_FORCE_RUBY_PLATFORM to avoid the use of the pre-compiled version of nokogiri.so (and any other native gems).

Test

  • CI goes green
  • Prototype Build comment is still posted (even after this update of release-toolkit)
  • The next code freeze from trunk once this CI is merged now passes without error when running a job on tumblr-metal

To fix issue with nokogiri trying to install native bundle on agents that don't have a matching GLIBC version
@dangermattic
Copy link
Collaborator

dangermattic commented Aug 8, 2025

1 Warning
⚠️ This PR is assigned to the milestone 2.36. The due date for this milestone has already passed.
Please assign it to a milestone with a later deadline or check whether the release for this milestone has already been finished.

Generated by 🚫 Danger

@AliSoftware AliSoftware added the tooling Related to anything that supports the building & maintaining of the project. label Aug 8, 2025
@AliSoftware AliSoftware added this to the 2.36 milestone Aug 8, 2025
@AliSoftware AliSoftware requested review from iangmaia and mzorz August 8, 2025 13:37
# to set up some variables that will be interpolated in the `.yml` pipeline before uploading it.

export CI_TOOLKIT_PLUGIN_VERSION="3.5.1"
export CI_TOOLKIT_PLUGIN_VERSION="5.5.0"
Copy link
Contributor Author

@AliSoftware AliSoftware Aug 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Figured I'd use the occasion to update to the latest ci-toolkit.

ℹ️ Based on the MIGRATION.md, the only breaking changes between 3.x and 5.x are around pr_changed_files (which we don't use in this repo) and prepare_windows_host_for_app_distribution.ps1 (not relevant to this repo)

---
BUNDLE_PATH: "vendor/bundle"
BUNDLE_SPECIFIC_PLATFORM: "false"
BUNDLE_FORCE_RUBY_PLATFORM: "true"
Copy link
Contributor Author

@AliSoftware AliSoftware Aug 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is in an attempt to fix the typical GLIBC_2.28 that happens when CI tries to install the pre-compiled version of nokogiri on an agent that doesn't have the latest GLIBC version (typically tumblr-metal agent) while the Gems cache was created on an agent that had it.

See p1754658816321749/1754646311.971939-slack-C06CKSPHYA1

Error loading plugin 'fastlane-plugin-wpmreleasetoolkit': /lib64/libc.so.6: version `GLIBC_2.28' not found
  required by /var/lib/buildkite-agent/builds/ops-buildkite-metal-01-9266e77e-dca-tumblr-net-cluster/automattic/simplenote-android/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/3.2/nokogiri.so)
  - /var/lib/buildkite-agent/builds/ops-buildkite-metal-01-9266e77e-dca-tumblr-net-cluster/automattic/simplenote-android/vendor/bundle/ruby/3.2.0/gems/nokogiri-1.18.9-x86_64-linux-gnu/lib/nokogiri/3.2/nokogiri.so

#
# gem 'fastlane-plugin-wpmreleasetoolkit', git: 'https://github.com/wordpress-mobile/release-toolkit', ref: ''
gem 'fastlane-plugin-wpmreleasetoolkit', '~> 12.0'
gem 'fastlane-plugin-wpmreleasetoolkit', '~> 13.0'
Copy link
Contributor Author

@AliSoftware AliSoftware Aug 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Figured I'd update the release-toolkit while at it.

ℹ️ According to the MIGRATION.md the only breaking changes from 12.x to 13.x are about prototype_build_details_comment not supporting AppCenter anymore. But for Android repos like this one, we've been uploading the builds to S3 and not AppCenter/Firebase anyway.

@wpmobilebot
Copy link
Collaborator

📲 You can test the changes from this Pull Request in Simplenote Android by scanning the QR code below to install the corresponding build.

App NameSimplenote Android
Build TypeDebug
Commit43efbff
Direct Downloadsimplenote-android-prototype-build-pr1749-43efbff-019889de-451f-46b3-8495-ef3a1508bc12.apk

Copy link
Contributor

@iangmaia iangmaia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@AliSoftware AliSoftware merged commit b61bc05 into trunk Aug 8, 2025
16 of 17 checks passed
@AliSoftware AliSoftware deleted the fix-ruby-issues branch August 8, 2025 14:09
@mzorz
Copy link
Contributor

mzorz commented Aug 9, 2025

thanks so much! 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tooling Related to anything that supports the building & maintaining of the project.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants