Repository navigation
Providing ruby-head builds #15
Description
Activity
Good idea. It would certainly be helpful to run all the test suites, and also a CLI check on the install folder, as there was a time when the included gem binstubs broke on Windows...
I'm working on moving ruby-loco to a GitHub release, along with an mswin build, so that's also an option.
Good idea. It would certainly be helpful to run all the test suites, and also a CLI check on the install folder, as there was a time when the included gem binstubs broke on Windows...
I'm running
test-allandtest-speccurrently:
https://github.com/eregon/ruby-dev-builder/blob/fcbf2cda653d3c34ba405c1e9bb291c87e79ab9d/.github/workflows/build.yml#L79-L80
What do you mean by a CLI check on the install folder ?What do you mean by a CLI check on the install folder ?
Check that
gem,rake,bundle, etc commands work, I just check to see if they work with a--versionargument.That's one issue with the normal CI, it really doesn't check that the install folder is set up correctly. Most of the time everything is ok, but there have been instances...
I'm running test-all and test-spec currently
Re test-spec, I think it will run from the install folder (without make).
Implemented in f548324, it was fairly easy.
https://github.com/eregon/ruby-dev-builder needs a way to build ~daily and remove old releases, that's still to do, currently it's triggered manually.
Reacted by Lars KanisI now got the automated daily (or rather nightly) builds: ruby/ruby-dev-builder@88794dd
So now the only thing missing is some cleanup to remove older releases.
Reacted by MSP-GregI've now got fully tested mingw & mswin builds in ruby-loco, stored in a release. Since ruby/ruby tests against mswin, having one available for CI might be helpful. I have not changed it to run cron jobs yet.
Re the single release (vs multiple releases), I messed around with it, and if one uploads the new binary with a different name, then delete the old binary, then renames the new one, the delete/rename typically takes around 300 to 400 mS, with an occasional peak time of around 900 mS.
Using one release allows for a single stable URI, so I think I'll take the risk.
I used an embedded action, as it also updates
ruby -vand the SHA512 checksum in the release notes.Reacted by Patrik RagnarssonWhile working on OpenSSL & mswin, got the following, running a rake script to install a few gems, Ubuntu-18.04 ruby-head.
The workflow ran Ubuntu-18.04 & macOS, Rubies 2.3 thru ruby-head. Ubuntu-18.04 ruby-head was the only job with the failure...
EDIT: I just noticed the version in the line:
Gem::FilePermissionError: You don't have write permissions for the /var/lib/gems/2.5.0 directoryMay be permissions, may be the incorrect path/folder and/or an issue with
ENV['PATH'].../usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated /usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated /usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:29: warning: constant Gem::ConfigMap is deprecated /usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:30: warning: constant Gem::ConfigMap is deprecated /usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated /usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated rake-compiler not installed. Run 'rake install_dependencies' to install testing dependency gems. /usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated /usr/lib/x86_64-linux-gnu/ruby/2.5.0/openssl.so: warning: already initialized constant OpenSSL::VERSION /home/runner/work/ruby-openssl/ruby-openssl/lib/openssl/version.rb:4: warning: previous definition of VERSION was here /usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb:10: warning: constant Gem::ConfigMap is deprecated rake aborted! Gem::FilePermissionError: You don't have write permissions for the /var/lib/gems/2.5.0 directory. /home/runner/work/ruby-openssl/ruby-openssl/Rakefile:40:in `block (2 levels) in <top (required)>' /home/runner/work/ruby-openssl/ruby-openssl/Rakefile:36:in `each' /home/runner/work/ruby-openssl/ruby-openssl/Rakefile:36:in `block in <top (required)>' Tasks: TOP => install_dependencies (See full trace by running task with --trace) Installing rake (>= 0) ... (found 12.3.1) Installing rake-compiler (>= 0) ... ##[error]Process completed with exit code 1./usr/lib/x86_64-linux-gnu/ruby/2.5.0/openssl.so: warning: already initialized constant OpenSSL::VERSIONThat's the default
ruby, not a bug of this action.
Probably you installed a system ruby withapt-get?ruby-head builds work fine now (AFAIK).
In https://github.com/ruby/ruby-dev-builder I'm creating a draft release, building on the various platforms, publishing the release, and cleaning old releases automatically.
So all is automated and there are also fixed links to download such as:
https://github.com/ruby/ruby-dev-builder/releases/latest/download/ruby-head-ubuntu-18.04.tar.gzProbably you installed a system ruby with apt-get?
Here's the workflow in ruby/openssl
I haven't looked at the rakefile, but it worked previously, and all other jobs are fine? I'll have another
look, I was rushing out the door earlier...@MSP-Greg It would be much more useful if you just point me to the PR and Action run:
ruby/openssl#319Let's discuss there or please open a new issue.
Not sure what's wrong at first sight.I apologize. I should have waited until I had time to look at it...
The problem is bundled gems were missing, fixed now in ruby/ruby-dev-builder@7bc20bb
ruby/openssl#319 (comment)Reacted by MSP-Greg
@MSP-Greg, @larskanis (#10 (comment)) and @ioquatix (actions/setup-ruby#44 (comment)) have already mentioned interest in this.
I recently added support for
truffleruby-headso it shouldn't be too hard.Current plan is: