Closed HassanAkbar closed 10 months ago
@HassanAkbar
I am afraid it will require some research. I have it installing expressir-1.3.0-x86_64-linux-gnu
as expected so it may be an issue with different bundler version
maxirmx@MSS-WS-N:~/Projects/expressir$ rbenv rehash
maxirmx@MSS-WS-N:~/Projects/expressir$ rbenv global 2.7.8
maxirmx@MSS-WS-N:~/Projects/expressir$ ruby --version
ruby 2.7.8p225 (2023-03-30 revision 1f4d455848) [x86_64-linux]
maxirmx@MSS-WS-N:~/Projects/expressir$ gem install expressir
Fetching thor-1.3.0.gem
Fetching expressir-1.3.0-x86_64-linux-gnu.gem
Successfully installed thor-1.3.0
Successfully installed expressir-1.3.0-x86_64-linux
Parsing documentation for thor-1.3.0
Installing ri documentation for thor-1.3.0
Parsing documentation for expressir-1.3.0-x86_64-linux
Installing ri documentation for expressir-1.3.0-x86_64-linux
Done installing documentation for thor, expressir after 1 seconds
2 gems installed
maxirmx@MSS-WS-N:~/Projects/expressir$ bundler --version
Bundler version 2.1.4
maxirmx@MSS-WS-N:~/Projects/expressir$
The note above was Ubuntu 20 Clean Ubuntu 22 works as well. I am lost completely
maxirmx@MSS-WS-N:~/Projects/expressir$ bundler --version
Bundler version 2.4.10
maxirmx@MSS-WS-N:~/Projects/expressir$ gem info expressir
*** LOCAL GEMS ***
maxirmx@MSS-WS-N:~/Projects/expressir$ gem install expressir
Fetching expressir-1.3.0-x86_64-linux-gnu.gem
Successfully installed expressir-1.3.0-x86_64-linux-gnu
Parsing documentation for expressir-1.3.0-x86_64-linux-gnu
Installing ri documentation for expressir-1.3.0-x86_64-linux-gnu
Done installing documentation for expressir after 0 seconds
1 gem installed
A new release of RubyGems is available: 3.4.10 → 3.5.1!
Run `gem update --system 3.5.1` to update your installation.
@maxirmx the issue seems to be the difference between the old x86_64-linux
and the new x86_64-linux-gnu
?
The issue is that bundler shall fetch expressir-1.3.0-x86_64-linux-gnu.gem
but on GHA it attempts to fetch expressir-1.3.0-x86_64-linux.gem
that does not exist
@maxirmx One thing that I noticed is that older versions were available for x86_64-linux
distributions but version 1.3.0
is only available for x86_64-linux-gnu
.
and the error in the workflow states that
Retrying download gem from https://rubygems.org/ due to error (4/4): Gem::RemoteFetcher::FetchError bad response Forbidden 403 (https://rubygems.org/gems/expressir-1.3.0-x86_64-linux.gem)
So I think this is what's causing the workflow to fail.
The issue is that bundler shall fetch
expressir-1.3.0-x86_64-linux-gnu.gem
but on GHA it attempts to fetchexpressir-1.3.0-x86_64-linux.gem
that does not exist
@maxirmx Yes, just saw your comment after posting mine.
x86_64-linux has been changed to x86_64-linux-gnu intentionally Legacy x86_64-linux versions actually support gnu flavor only and it caused issues
Pls have a look at these two runs:
setup-ruby GHA action upgrades bundler by default but does not do required rubygems upgrade If I upgrade rubygems to the version that corresponds to bundler version everything works If I downgrade bundler to the version to corresponds to default rubygems version it also works
Not sure what would be the best approach to fix it. Options are: ~- use bundler 2.1.xx -- fix it in metanorma ci scripts and possibly indvidually for some gems~
@ronaldtse, what do you think ? I think we shall ask @CAMOBAP as well
Just pointing out folks that Ruby 3.3 is coming out in a few days, and that means that we would be withdrawing Ruby 2.7 soon anyway, we only support 4 versions back. @ronaldtse is it worth persisting with fixing this at all, or is this our hint to drop Ruby 2.7 support?
Clearly the cause is due to incompatibility between Bundler and Rubygems versions, so the only option is:
- upgrade rubygems to 3.4.22 -- fix it in metanorma ci scripts and possibly indvidually for some gems
@CAMOBAP could you please help with this?
@opoudjis yes we should withdraw 2.7 support soon but we shouldn't leave it in a state of arrears when we do formally drop Ruby 2.x complete (2.7 is the last 2.x).
@ronaldtse should be fixed in the scope https://github.com/metanorma/ci/issues/136 already
@HassanAkbar https://github.com/metanorma/stepmod-utils now works on Ruby 2.7 (after https://github.com/metanorma/ci/issues/136 fix)
https://github.com/glossarist/concept-model needs make.yml fix. There is a note in the file saying that it is auto-generated so I am not suggesting a fix
I’ve tried the fix by fully rerunning tests on Metanorma-standoc , and verified it works. Thank you @CAMOBAP ! Feel free to close this when ready.
https://github.com/glossarist/concept-model - done also
GitHub Actions are failing for
ubuntu
with ruby2.7
becauseexpressir 1.3.0
is unavailable forx86_64-linux
.Example workflow runs