summaryrefslogtreecommitdiff
path: root/.github/workflows/yjit-macos.yml
AgeCommit message (Collapse)Author
2024-02-22Fallback more macos-arm-oss jobs to macos-14Takashi Kokubun
A follow-up on https://github.com/ruby/ruby/pull/10074
2024-02-22Fallback every macos-arm-oss usage to macos-14 (#10074)Takashi Kokubun
2024-02-22CI: Refactor a logic for skipped tests.Jun Aruga
* 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 - ''
2024-02-16CI: Fix the no such file or directory error with the working directory.Jun Aruga
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 ```
2024-02-09Remove unavailable filters for merge_group eventKazuhiro NISHIYAMA
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]
2024-01-29Revert "Provisionally ignore panics that happen in these days often"Takashi Kokubun
This reverts commit e0f4c4e410a0e4c6cda67e9000696c8f1f01d8aa. We expect https://github.com/ruby/ruby/pull/9729 to address the failure.
2024-01-28Provisionally ignore panics that happen in these days often [ci skip]Nobuyoshi Nakada
``` 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> ```
2024-01-28Extract continue-on-error condition to the matrix [ci skip]Nobuyoshi Nakada
2023-12-25Skip AppVeyor and GitHub if only other CI files are changedNobuyoshi Nakada
2023-11-08YJIT: Disable code GC (#8865)Takashi Kokubun
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com> Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
2023-10-17Bump actions/checkout from 4.1.0 to 4.1.1dependabot[bot]
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>
2023-10-17YJIT: Add a cargo job for Arm64 and remove .cirrus.yml (#8679)Takashi Kokubun
* 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
2023-10-16Just skip the job if not on ruby/rubyTakashi Kokubun
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.
2023-10-16Wait on ubuntu [ci skip]Nobuyoshi Nakada
macos-arm-oss is unavailable for forked reopsitories other than ruby/ruby.
2023-10-14Use unique names for result jobsTakashi Kokubun
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.
2023-10-14Add result job for required status checksTakashi Kokubun
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.
2023-10-13Only ruby/ruby repository runs on macos-arm-oss [ci skip]Nobuyoshi Nakada
2023-10-13Remove paths-ignore from required status checks (#8646)Takashi Kokubun
2023-10-12Test YJIT on macOS Arm64 GitHub Actions (#8633)Takashi Kokubun
* cp macos.yml yjit-macos.yml * Test YJIT on macOS Arm64 GitHub Actions * Add a non-YJIT macOS Arm64 job as well
2021-10-29Merge macOS CIs to reduce concurrencyNobuyoshi Nakada
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
2021-10-29Skip tests if only document files changedNobuyoshi Nakada
2021-10-26GNUMAKEFLAGS is too new for mac卜部昌平
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
2021-10-26.github: use GNUMAKEFLAGS instead of JOBS卜部昌平
A bit readable to me. See also https://github.com/ruby/ruby/pull/4880 Notes: Merged: https://github.com/ruby/ruby/pull/5005
2021-10-24Use `${{}}` for if statementNobuyoshi Nakada
2021-10-22Reduce YJIT runs on macOS [ci skip]Nobuyoshi Nakada
MacOs concurrency on GitHub Actions is limited, and the performance is relatively poor.
2021-10-20Turn on YJIT in macOS workflowAlan Wu
It wasn't on at all and the printout of RUBY_DESCRIPTION at the end of `make check` wasn't saying +YJIT.
2021-10-20Enable leaked global tests in YJIT workflowsAlan Wu
2021-10-20Try turning off test-bundler-parallel to see if that fixes all the build errorsNoah Gibbs
2021-10-20Don't enable YJIT by default. More tests on both Ubuntu and MacOS.Noah Gibbs
Add RUBY_YJIT_ENABLE env var and YJIT_FORCE_ENABLE compile-time constant. Rename YJIT_STATS to RUBY_YJIT_STATS.