| Age | Commit message (Collapse) | Author |
|
A follow-up on https://github.com/ruby/ruby/pull/10074
|
|
|
|
* Make the make's TESTS argument update easily by updating TESTS env with added steps.
* Use the `$(...)` rather than backquotes.
See <https://www.shellcheck.net/wiki/SC2006>.
* Use double-quotes for the make's argument `TESTS="$(...)"` to support
space-separated skipped tests such as
`skipped_tests: 'TestGem#test_.* TestMkmf.*'`.
* Replace the `matrix.skipped_tests != ''` with `matrix.skipped_tests`.
I think that these expressions are equivalent.
See <https://docs.github.com/en/actions/learn-github-actions/expressions#functions>
for details.
> Type - Result
> Null - ''
|
|
Fix the error with the working directory in the result job in some GitHub
Actions YAML files. I hit this error on my forked repository below.
https://github.com/junaruga/ruby/actions/runs/7921897724/job/21628462038?pr=2#step:2:11
```
Error: An error occurred trying to start process '/bin/bash' with working directory '/Users/runner/work/ruby/ruby/build'. No such file or directory
```
|
|
actionlint says:
- "branches" filter is not available for merge_group event. it is only for push, pull_request, pull_request_target, workflow_run events [events]
- "paths" filter is not available for merge_group event. it is only for push, pull_request, pull_request_target events [events]
- "paths-ignore" filter is not available for merge_group event. it is only for push, pull_request, pull_request_target events [events]
|
|
This reverts commit e0f4c4e410a0e4c6cda67e9000696c8f1f01d8aa.
We expect https://github.com/ruby/ruby/pull/9729 to address the failure.
|
|
```
ruby: YJIT has panicked. More info to follow...
thread '<unnamed>' panicked at src/core.rs:2751:9:
assertion `left == right` failed: each stub expects a particular iseq
left: 0x7fc8d8e09850
right: 0x7fc8d2c2f3a0
stack backtrace:
0: rust_begin_unwind
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
1: core::panicking::panic_fmt
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
2: core::panicking::assert_failed_inner
3: core::panicking::assert_failed
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:279:5
4: yjit::core::branch_stub_hit_body
at /home/runner/work/ruby/ruby/src/yjit/src/core.rs:2751:9
5: yjit::core::branch_stub_hit::{{closure}}::{{closure}}
at /home/runner/work/ruby/ruby/src/yjit/src/core.rs:2696:36
6: yjit::stats::with_compile_time
at /home/runner/work/ruby/ruby/src/yjit/src/stats.rs:979:15
7: yjit::core::branch_stub_hit::{{closure}}
at /home/runner/work/ruby/ruby/src/yjit/src/core.rs:2696:13
8: std::panicking::try::do_call
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
9: __rust_try
10: std::panicking::try
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
11: std::panic::catch_unwind
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
12: yjit::cruby::with_vm_lock
at /home/runner/work/ruby/ruby/src/yjit/src/cruby.rs:647:21
13: yjit::core::branch_stub_hit
at /home/runner/work/ruby/ruby/src/yjit/src/core.rs:2695:9
14: <unknown>
```
|
|
|
|
|
|
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
|
|
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/8ade135a41bc03ea155e62e844d188df1ea18608...b4ffde65f46336ab88eb53be808477a3936bae11)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
* YJIT: Add a cargo job for Arm64
* YJIT: Use command names as job names
They look more consistent with jobs that use the command name as a job
name, such as `make (check)`, `make (test-bundled-gems)`, etc.
* Remove .cirrus.yml
|
|
Using the same `runs-os` across all jobs in the same workflow makes it
more likely to pass in case one of these runners is experiencing an
outage.
macos-arm-oss is generally not available outside ruby/ruby, so it's
fair to skip it for forks.
|
|
macos-arm-oss is unavailable for forked reopsitories other than
ruby/ruby.
|
|
If these jobs have the same name, GitHub allows merging a pull request
as soon as one of these jobs finishes.
We want to wait for all these jobs, so we have to use different names.
Since we don't skip this result job on [DOC], it's okay to use a
templated variable for this name.
|
|
We've been using matrix jobs as required status checks. However, when
[DOC] pull requests are created, the matrix content and templated
variables are not executed, which results in changing the name of the
matrix jobs. Then required status checks are considered missing because
of the different names. So we can't merge [DOC] PRs right now.
This `result` is a known technique to check the composite status of
matrix jobs. https://github.com/orgs/community/discussions/26822
The `result` job is not only a non-matrix job, which doesn't have the
above problem, but also an independent job that is not skipped by [DOC].
`needs` works even if all dependent jobs are skipped, so this trick
works well.
This is also useful when we want to change the content of matrix. When
we change one, we usually have to update branches of old pull requests
so that they get newly required jobs. However, with this method, only
`result` jobs are required, so you don't need to update old pull
requests.
I still don't like the fact that now you cannot visualize which matrix
jobs are "Required", but this seems like the best compromise.
|
|
|
|
|
|
* cp macos.yml yjit-macos.yml
* Test YJIT on macOS Arm64 GitHub Actions
* Add a non-YJIT macOS Arm64 job as well
|
|
On GitHub Actions, the macOS runners seem much more expensive than
Ubuntu, and its limit is the most significant bottlenecks for our
CIs. As the "check" tasks usually finish 3 or 4 times faster than
"test-bundler-parallel", it will be balanced by running all three
"check" tasks sequentially.
Notes:
Merged: https://github.com/ruby/ruby/pull/5046
|
|
|
|
It is relatively well known that mac does not update its command line
tools, and make is no exception. They ship GNU make 3.x, which didn't
yet implemented GNUMAKEFLAGS.
Resort to MAKEFLAGS there.
Notes:
Merged: https://github.com/ruby/ruby/pull/5005
|
|
A bit readable to me.
See also https://github.com/ruby/ruby/pull/4880
Notes:
Merged: https://github.com/ruby/ruby/pull/5005
|
|
|
|
MacOs concurrency on GitHub Actions is limited, and the
performance is relatively poor.
|
|
It wasn't on at all and the printout of RUBY_DESCRIPTION at the end of
`make check` wasn't saying +YJIT.
|
|
|
|
|
|
Add RUBY_YJIT_ENABLE env var and YJIT_FORCE_ENABLE compile-time constant.
Rename YJIT_STATS to RUBY_YJIT_STATS.
|