Skip to content

Comments

MinGW on Actions#2791

Merged
k0kubun merged 4 commits intoruby:masterfrom
MSP-Greg:actions-mingw
Dec 31, 2019
Merged

MinGW on Actions#2791
k0kubun merged 4 commits intoruby:masterfrom
MSP-Greg:actions-mingw

Conversation

@MSP-Greg
Copy link
Contributor

Starter yaml file for running MinGW builds on Actions.

  1. actions/checkout@v2 has been released with more options, etc. Changed to allow CI in forks when not using master branch.

  2. make build and make test seem to consistently succeed/pass.

  3. make test-all seems to have one or two consistent errors.

  4. make test-spec is kind of a mess. The 2nd commit is needed to bypass a spec, otherwise the step freezes. See Perform full MSYS2/MinGW update for build, -fstack-protector-strong - spec freeze #2718 and https://bugs.ruby-lang.org/issues/16265. But, with that change, the last run in my fork showed '58 failures, 2 errors'

  5. Since actions/setup-ruby@v1/disk images are not current, this uses an action of mine (MSP-Greg/actions-ruby@master) that install currents MinGW Rubies, corrects/cleans the Actions path, and allows package installation on the MSYS2 install.

With most of these issues not happening in AppVeyor CI, I haven't had time to look for why the CI platform is affecting things.

@MSP-Greg
Copy link
Contributor Author

make test-all seems to have one or two consistent errors.

It ran three times in my fork as above. Now it's frozen.

To any that have access, feel free to stop it:
https://github.com/ruby/ruby/pull/2791/checks?check_run_id=366378592

@MSP-Greg
Copy link
Contributor Author

MSP-Greg commented Dec 30, 2019

Rebased and pushed updated code. One spec and one test (test-all) were bypassed via the first two commits.

One issue that may help in mswin CI is that Actions Windows is changing line endings in the repo...

  1. test-all is still intermittently failing/freezing, but otherwise it passes with the one additional skip. Note that I've had a similar skip in ruby-loco for a while, and the problem does not exist when run locally.

  2. Had some odd test-spec issues, and decided to run it from install (as I do in ruby-loco). Problems cleared up, and it is stable.

  3. Added test timeouts.

I started on this for two reasons. First, AppVeyor CI often backs up all of the Ruby repos, and secondly, I expect to move ruby-loco to Actions, and likely similar issues...

EDIT: MinGW Actions passed here and also in my fork at:
https://github.com/MSP-Greg/ruby/runs/367310657

@MSP-Greg MSP-Greg marked this pull request as ready for review December 30, 2019 22:53
C-API Thread function rb_thread_call_without_gvl
      -- runs a C function with the global lock unlocked and unlocks IO with the generic RUBY_UBF_IO

stops/freezes spec tests

See https://bugs.ruby-lang.org/issues/16265
Test times out in CI (both AppVeyor & Actions), cannot repo locally
@k0kubun
Copy link
Member

k0kubun commented Dec 31, 2019

While we have some new skips on Actions compared to AppVeyor, people seem to basically agree that Actions is better than AppVeyor. Besides build time is shorter in Actions.

Let me merge this and drop AppVeyor MinGW. Thank you.

@k0kubun k0kubun merged commit eb2b425 into ruby:master Dec 31, 2019
matzbot pushed a commit that referenced this pull request Dec 31, 2019
@MSP-Greg MSP-Greg deleted the actions-mingw branch December 31, 2019 19:14
nurse pushed a commit to nurse/ruby that referenced this pull request Jan 30, 2020
* MinGW - skip spec in spec/ruby/optional/capi/thread_spec.rb

C-API Thread function rb_thread_call_without_gvl
      -- runs a C function with the global lock unlocked and unlocks IO with the generic RUBY_UBF_IO

stops/freezes spec tests

See https://bugs.ruby-lang.org/issues/16265

* MinGW - skip test test/resolv/test_dns.rb

Test times out in CI (both AppVeyor & Actions), cannot repo locally

* MinGW - skip test test/ruby/test_thread_queue.rb

* Add Actions mingw.yml
nurse pushed a commit to nurse/ruby that referenced this pull request Mar 14, 2020
in favor of ruby#2791

(cherry picked from commit b004187)
matzbot pushed a commit that referenced this pull request May 23, 2024
In some cases Prism was either not raising an appropriate `void value
expression` error, or raising that error when the syntax is considered
valid.

To fix this Prism needs to check whether we have other clauses on the
`begin` rather than just returning `cast->statements`.

* If the `cast->statements` are null and the `cast->ensure_clause` is
not null, set the code to `cast->ensure_clause`
* else
  * If there is a `cast->rescue_clause`
    * Check if `cast->statements` are null and `cast->rescue_clause->statements`
    are null, and return `NULL`
    * Check if there is an `else_clause`, and set the node to
      `cast->else_clause`.
    * Otherwise return `cast->statements` as the node
  * return `cast->statements` as the node

See tests for test cases. Note I took these directly from CRuby so if
desired I can delete them since the test will now pass. This only fixes
one test in the `test_parse` file, taking failures from 14 to 13.

This fixes `TestParse#test_void_value_in_rhs` and is related to
issue #2791.

ruby/prism@398152b412
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants