-
Notifications
You must be signed in to change notification settings - Fork 313
[Tooling] Fix Ruby issues and update gems + toolkit #1749
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
To fix issue with nokogiri trying to install native bundle on agents that don't have a matching GLIBC version
| # 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" |
There was a problem hiding this comment.
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" |
There was a problem hiding this comment.
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' |
There was a problem hiding this comment.
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.
|
📲 You can test the changes from this Pull Request in Simplenote Android by scanning the QR code below to install the corresponding build.
|
iangmaia
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
|
thanks so much! 🙏 |
Fix
This is to fix an issue with the install of the
nokogirigem on thetumblr-metalagent on CI. Thattumblr-metalagent, especially used by some tasks of the release automation, doesn't have the necessary version ofGLIBC_2.28, but the job is trying to install the precompilednokogiri.sofrom our gem cache… which was previously built by an agent that had it. So there's a mismatch in thenokogiri.sofile in the gem cache and the dependency requirements onGLIBC_2.28not being satisfied ontumblr-metalThe solution is to enforce
BUNDLE_FORCE_RUBY_PLATFORMto avoid the use of the pre-compiled version ofnokogiri.so(and any other native gems).Test
release-toolkit)trunkonce this CI is merged now passes without error when running a job ontumblr-metal