| Age | Commit message (Collapse) | Author |
|
|
|
Update macos runners with latest environments.
* Use macos-14 instead of macos-arm-oss
* Removed macos-11 and added macos-13
|
|
|
|
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.
|