Skip to content
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

Add Actions mswin, update CI #319

Merged
merged 1 commit into from Feb 8, 2020
Merged

Add Actions mswin, update CI #319

merged 1 commit into from Feb 8, 2020

Conversation

MSP-Greg
Copy link
Contributor

@MSP-Greg MSP-Greg commented Feb 8, 2020

To help with the issue that ruby/ruby runs Windows mswin CI, this PR adds that.

  1. Renamed the appveyor.yml file, as its jobs are duplicated in the Actions Windows CI.
  2. Split the Actions CI into three files, Ubuntu-macOS, Windows, & rvm.
  3. The rvm file does not run, as above, its jobs are duplicated in the Ubuntu-macOS workflow.

On the three Actions platforms, Ruby 2.3 thru master/head is testing on all, with Windows testing both mingw & mswin master/head builds.

I can delete the unused CI files, I thought saving them might helpful in the future for specialized CI use...

Lastly, mswin is failing (as it is in ruby/ruby) and Ubuntu master is failing with a permissions failure that I've opened an issue in ruby/setup-ruby in...

- name: load ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{matrix.ruby}}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably harmless, but it's typically written as ruby-version: ${{ matrix.ruby }} as below.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed in all workflows...

@eregon
Copy link
Member

eregon commented Feb 8, 2020

@MSP-Greg I can reproduce the issue in https://github.com/eregon/openssl/runs/433892746
Looks like which rake resolves wrongly to /usr/bin/rake for ruby-head builds (both macOS & Linux).

@eregon
Copy link
Member

eregon commented Feb 8, 2020

There is no rake in the bindir, fun:
https://github.com/eregon/openssl/runs/433898485?check_suite_focus=true

@eregon
Copy link
Member

eregon commented Feb 8, 2020

ruby master simply has no bin/rake:
https://github.com/ruby/ruby/tree/master/bin

Confirmed when installed locally as well.
Seems bin/rake was removed in ruby/ruby#862 / ruby/ruby@c4ee0df.
That's a huge breaking change, but at least not the fault of ruby/setup-ruby in any way.

@eregon
Copy link
Member

eregon commented Feb 8, 2020

2015 is too old, it must be a more recent change which forgets to copy the rake executable under bin

@eregon
Copy link
Member

eregon commented Feb 8, 2020

rake seems simply not part of default nor bundled gems on ruby master:

``` $ gem list

*** LOCAL GEMS ***

benchmark (default: 0.1.0)
bigdecimal (default: 2.0.0)
bundler (default: 2.1.4)
cgi (default: 0.1.0)
csv (default: 3.1.2)
date (default: 3.0.0)
dbm (default: 1.1.0)
delegate (default: 0.1.0)
did_you_mean (default: 1.4.0)
etc (default: 1.1.0)
fcntl (default: 1.0.0)
fiddle (default: 1.0.0)
fileutils (default: 1.4.1)
forwardable (default: 1.3.1)
gdbm (default: 2.1.0)
getoptlong (default: 0.1.0)
io-console (default: 0.5.5)
ipaddr (default: 1.2.2)
irb (default: 1.2.1)
json (default: 2.3.0)
logger (default: 1.4.2)
matrix (default: 0.2.0)
mutex_m (default: 0.1.0)
net-pop (default: 0.1.0)
net-smtp (default: 0.1.0)
observer (default: 0.1.0)
open3 (default: 0.1.0)
openssl (default: 2.1.2)
ostruct (default: 0.2.0)
prime (default: 0.1.1)
pstore (default: 0.1.0)
psych (default: 3.1.0)
racc (default: 1.4.16)
rdoc (default: 6.2.1)
readline (default: 0.0.2)
readline-ext (default: 0.1.0)
reline (default: 0.1.2)
sdbm (default: 1.0.0)
singleton (default: 0.1.0)
stringio (default: 0.1.0)
strscan (default: 1.0.3)
timeout (default: 0.1.0)
tracer (default: 0.1.0)
uri (default: 0.10.0)
webrick (default: 1.6.0)
yaml (default: 0.1.0)
zlib (default: 1.1.0)

@eregon
Copy link
Member

eregon commented Feb 8, 2020

Probably ./configure && make && make install is not enough to install bundled gems?

@MSP-Greg
Copy link
Contributor Author

MSP-Greg commented Feb 8, 2020

I'm trying to look at one msg and then 'bing', another one. Sorry.

Are the files in the gems folder? No problem on Windows, and no specific code for the bundled gems. But, since Windows also has the cmd/bat binstubs, the code is different...

@eregon
Copy link
Member

eregon commented Feb 8, 2020

Good old issue, short answer is I need to make update-gems before make install or bundled gems are silently ignored and not downloaded & installed 😞
https://bugs.ruby-lang.org/issues/13724

I'll trigger a build with that.

@ioquatix
Copy link
Member

ioquatix commented Feb 8, 2020

Thanks everyone this looks great, let me know when I can merge it!

@MSP-Greg
Copy link
Contributor Author

MSP-Greg commented Feb 8, 2020

I think the distinction is whether one builds from a tarball (even of the nightly or whatever it's called) or one builds from the repo...

I recall some discussions in Ruby about the idea of whether testing should happen before or after make install, how people wanted it quick, didn't want to dl the bundled gems, etc.

Anyway, thanks for tracking down the issue.

@eregon
Copy link
Member

eregon commented Feb 8, 2020

New ruby-head builds done, this time including rake and other bundled gems.
It should work here (see https://github.com/eregon/openssl/runs/433926627?check_suite_focus=true), just trigger a new build.

@MSP-Greg Sorry, you were right, it was an issue with my ruby-head builds.
And indeed as you advised in ruby/setup-ruby#15 (comment) checking for bin/rake is quite important 😃 I had a long day of fighting with Windows shells and JRuby on Windows.

@MSP-Greg
Copy link
Contributor Author

MSP-Greg commented Feb 8, 2020

@ioquatix

Thanks to @eregon, the Ubuntu-macOS workflow should pass. The Windows mswin build is failing, but you've seen that in ruby/ruby. I assume it would be helpful to see that here.

I don't believe there is a reasonable way to have an 'allow failure' on Actions.

JFYI, ruby-loco is now building on Actions, three times a day, both mingw & mswin. The changes to the action (MSP-Greg/actions-ruby) to use mswin aren't really public, I'd like to get a few repos using it to see if mswin is okay...

@ioquatix ioquatix merged commit 8f39adb into ruby:master Feb 8, 2020
@MSP-Greg MSP-Greg deleted the mswin branch February 9, 2020 00:40
source $HOME/.rvm/scripts/rvm
rake test TESTOPTS="-v --no-show-detail-immediately" OSSL_MDEBUG=1
env:
CI: true
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MSP-Greg I removed this file in bf145c6, it seems redundant and it was ignored anyway.

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

Successfully merging this pull request may close these issues.

None yet

3 participants