Skip to content

Providing ruby-head builds #15

Description

@eregon

@MSP-Greg, @larskanis (#10 (comment)) and @ioquatix (actions/setup-ruby#44 (comment)) have already mentioned interest in this.

I recently added support for truffleruby-head so it shouldn't be too hard.

Current plan is:

Activity

  1. MSP-Greg commented on Feb 1, 2020

    @MSP-Greg
    Collaborator

    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.

  2. eregon commented on Feb 1, 2020

    @eregon
    MemberAuthor

    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-all and test-spec currently:
    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 ?

  3. MSP-Greg commented on Feb 1, 2020

    @MSP-Greg
    Collaborator

    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 --version argument.

    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).

  4. eregon commented on Feb 1, 2020

    @eregon
    MemberAuthor

    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.

  5. self-assigned this
    on Feb 1, 2020
  6. eregon commented on Feb 1, 2020

    @eregon
    MemberAuthor

    I 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.

  7. MSP-Greg commented on Feb 5, 2020

    @MSP-Greg
    Collaborator

    I'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 -v and the SHA512 checksum in the release notes.

  8. MSP-Greg commented on Feb 8, 2020

    @MSP-Greg
    Collaborator

    @eregon

    While 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 directory
    

    May 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.
    
  9. eregon commented on Feb 8, 2020

    @eregon
    MemberAuthor
    /usr/lib/x86_64-linux-gnu/ruby/2.5.0/openssl.so: warning: already initialized constant OpenSSL::VERSION
    

    That's the default ruby, not a bug of this action.
    Probably you installed a system ruby with apt-get?

  10. eregon commented on Feb 8, 2020

    @eregon
    MemberAuthor

    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.gz

  11. MSP-Greg commented on Feb 8, 2020

    @MSP-Greg
    Collaborator

    Probably 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...

  12. eregon commented on Feb 8, 2020

    @eregon
    MemberAuthor

    @MSP-Greg It would be much more useful if you just point me to the PR and Action run:
    ruby/openssl#319

    Let's discuss there or please open a new issue.
    Not sure what's wrong at first sight.

  13. MSP-Greg commented on Feb 8, 2020

    @MSP-Greg
    Collaborator

    I apologize. I should have waited until I had time to look at it...

  14. eregon commented on Feb 8, 2020

    @eregon
    MemberAuthor

    The problem is bundled gems were missing, fixed now in ruby/ruby-dev-builder@7bc20bb
    ruby/openssl#319 (comment)

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions