-
Notifications
You must be signed in to change notification settings - Fork 524
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
Fix CI to resolve current fastlane
dependencies (bump bundler to 2.4.22
, downgrade Ruby to 2.7.8
)
#1237
base: master
Are you sure you want to change the base?
Conversation
Ha! Got it working, bringing the envs as close as possible:
|
This comment was marked as outdated.
This comment was marked as outdated.
Hey @janbrasna 👋 Thanks for this PR! The 3 aforementioned PRs have been closed in favor of the one that released docs changes for v.220.0 released earlier this week (#1243), which has already been merged, actually 😅 Could you update this PR with the latest changes from master? 😃 I believe this will make it have the smallest change set and then we can see it passing CI 😊 I really appreciate your contributions! |
.ruby-version
Outdated
@@ -1 +1 @@ | |||
3.1.1 | |||
2.6.6 |
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.
Isn't there any combination of dependencies that keep the Ruby version at or above 3.1.1? This was last bumped 2 years ago and it sounds like a regression to revert back to a unsupported Ruby version 😬😬
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.
I know, but that's what works fastlane/fastlane — the CircleCI and images use that already. It seems that Netlify can't work with non-default bundler otherwise so downgrading Netlify to the same env as CircleCI, not introducing nothing "new", see my elaboration: #1234 (comment) +here #1237 (comment) for the steps and reasoning. (Not that I particularly like it myself, but w/e 🤷…)
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.
Got it 😅
Hey can you DM me on https://twitter.com/rogerluan_ or email me? (Email is in my GH profile) — I wanna reach out to you about something but couldn't find a contact :)!
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.
Yea I can imagine better circumstances too;) but that is probably just tentatively until upstream tooling in fastlane/fastlane runs Ruby 3.3 and all the images consumed here are updated accordingly — but here we can only consume what't published upstream so…;) 🤷
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.
@rogerluan That's intentional;) Look around your filtered folders for my username, or just gmail me at that…
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.
BTW the .ruby-version is not really needed for CircleCI or local work, quite the contrary, so if someone feels fancy enough to just print the file during a CI run (specifically, a PR targeted preview CI only, not elsewhere), after checkout, before configuring the runtime env, this could be better fixed somewhere in the tooling to shim it only for Netlify previews. But I'm not a hotshot like that so it's just an idea for someone more comfortable with breaking and fixing things properly;D
This sucks because it basically ask for a zombie version for local work (pretty much a macOS default Ruby version FWIW;D) even thou the docs project builds happily at more current 3.x (and that should be used in local dev anyways…), I just don't have the imagination to fix the two disjoining pipelines without messing up the local workspace TBH:/
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.
Just for the laughs — if you omit the ruby version completely, Netlify running the same image (note the sha) will pick different ruby versions for fastlane/docs ❌ and janbrasna/docs ✅: #1244 (comment) 🤷
#givinup
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.
So to match what's now running in the test docker, I've tried the highest security update version for Ruby 2.x ever — the 2.7.8 — and that seems to work in both workflows. Hopefully that's the least lame we can do now.
@rogerluan Yup now that 2.220.0 is merged @KrauseFx the CI finally gave in and this is needed;D I'll remove the content changes and keep only the env fixes, and rebase that to check if the 2.220.0 brings more incompatible deps or satisfies the same as here. |
@rogerluan CI passes. The PR is now cleaned up only to the pipeline changes, and rebased on fresh 2.220.0 — you can see the docs built https://deploy-preview-1237--fastlane-docs-preview.netlify.app/actions/git_add/#git_add (2.220.0 says "8 examples" while previous versions would show "7 examples" e.g.) |
2.4.22
, downgrade Ruby to 2.6.6
to match)
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.
Despite being a significant downgrade, given the circumstances I think this is a compromise we have to take 👍
Thanks for the in-depth investigation @janbrasna 💪
Wanna take a second look @lacostej ? 😊
FYI this is all somewhat blocked on fastlane/fastlane#21685 (comment) — i. e. what version of the fastlane/docker container we can pull, and what's in it. So if you have any power over that, 💪 … ;) |
2.4.22
, downgrade Ruby to 2.6.6
to match)fastlane
dependencies (bump bundler to 2.4.22
, downgrade Ruby to 2.7.8
)
@rogerluan, so, should we wait for the upstream removal of Ruby 2.6, or merge this as it is? If we merge it, then we may create an issue as a reminder to bump it back to 3.* in the future. |
@revolter @rogerluan This might not be needed right now, as the I'll keep this draft around in case it's needed again, and will also elaborate a bit more about the details "why" in the first place, but it's not a priority ATM until landing some newer implicit fastlane dependencies from upstream break the elderly env again. |
Fixes #1234
Newly released v2.219.0 in #1229 introduces some new dependency woes that break CI here.
This is a PoC to fix the env to enable #1229 and newer to land…
❌ Bundler 2.3.21:
OK overlooked that Netlify bootstraps Ruby 3.1.1 and is happy to build:
Using Ruby version 3.1.1
while the failed CircleCI gets stuck on conflicting requirements:
fastlane 2.219.0 which depends on http-cookie (~> 1.0.5), which depends on domain_name (~> 0.5), which depends on Ruby (>= 2.7) — Current Ruby version: Ruby (= 2.6.6)
❌ Bundler 2.3.22:
CircleCI is happy!
fastlane.tools finished successfully 🎉 All fastlane code samples (from 245 files) work as expected ✅
But Netlify fails now;D
Now I get what #1234 means. Sorry;)
✅ Ruby 2.7.8 from Docker/CircleCI to Netlify too + Bundler 2.4.22:
Finally success 🚀
CircleCI:
Netlify: