Граф коммитов

59 Коммитов

Автор SHA1 Сообщение Дата
Takashi Kokubun df6071c49f Do not auto-cancel builds on pull requests
For some reason, there was a pull request that contains a YJIT change
but did not run Cirrus CI, which ended up failing Cirrus CI on master.

This `auto_cancellation` config seems suspicious. Now that we have
`only_if`, I don't think we need an extra guard besides that.
2023-08-01 15:36:27 -07:00
Takashi Kokubun f0f099a5ff Disable clippy on Cirrus for now 2023-07-05 14:10:13 -07:00
Takashi Kokubun 7c9ce38cdb Remove duplicated Rust installation 2023-07-05 14:10:13 -07:00
Nobuyoshi Nakada 6f4c8d1dcf
[Cirrus] Run only when YJIT sources change [skip appveyor]
[ci skip] on other CIs.

Our tasks very often reach a concurrency limit on Cirrus-CI, and get
delayed.  Submitting new tasks during the delay seems to make delay
longer and longer.  So I think we should restrict the use of Cirrus,
provisionally at least.  As YJIT needs ARM build to test code for ARM,
use only for it.
2023-07-04 17:51:31 +09:00
Nobuyoshi Nakada 4bfa443383
[Cirrus] Set up cargo environments just once at first 2023-07-03 13:36:51 +09:00
Nobuyoshi Nakada d2ffd0ad3d
[Cirrus] Share configuration using YAML aliases
https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
2023-07-03 13:36:42 +09:00
Nobuyoshi Nakada 3a761dcc91
[Cirrus] Show CPU and memory info 2023-07-03 13:35:35 +09:00
Nobuyoshi Nakada bde3b98a60
[Cirrus] Make gem download non-verbose 2023-07-03 13:35:35 +09:00
Nobuyoshi Nakada 4a60764108
[Cirrus] Run also crons other than nightly 2023-07-03 13:35:14 +09:00
Nobuyoshi Nakada c1c926219d
[Cirrus] Run only if nightly [ci skip]
Recently Cirrus-CI does not start over 10 hours.  Maybe we have too
many runs.
2023-06-15 14:26:06 +09:00
Nobuyoshi Nakada 1cdae888a8
[Cirrus] Auto cancelation for non-yjit task [ci skip] 2023-06-15 14:24:51 +09:00
Nobuyoshi Nakada 3751349044
[Cirrus] Cache the bundled gems in advance 2023-06-14 17:52:49 +09:00
Nobuyoshi Nakada 72f07f0a5f
Reduce concurrency of Cirrus-CI [ci skip]
clang-12 takes 2-3 times longer than gcc-11.
2023-06-09 18:45:21 +09:00
Nobuyoshi Nakada 2f1586f6f2 Check leaked global symbols by default 2023-04-03 10:07:22 +09:00
Ian Ker-Seymer 8d3ff66389
Enable `clippy` checks for yjit in CI (#7093)
* Add job to check clippy lints in CI

* Address all remaining clippy lints

* Check lints on arm64 as well

* Apply latest clippy lints

* Do not exit 0 on clippy warnings
2023-01-12 10:14:17 -05:00
Alan Wu 258ac07907
YJIT: Generate debug info in release builds (#6910)
* YJIT: Generate debug info in release builds

They are helpful in case we need to do core dump debugging.

* Remove Cirrus DOC skip rule

The syntax for this is weird, and escaping [ and ] cause parse failures.
Cirrus' docs said to surround with .*, but then that seems to skip
everything. Revert e0a4205eb7 for now.
2022-12-12 15:59:29 -05:00
Alan Wu e0a4205eb7 Skip Cirrus checks for [DOC] commits
Since we also skip them on GitHub Actions.
2022-12-11 12:14:04 -05:00
Takashi Kokubun 607fb49dbc
YJIT: Lower the required Rust version from 1.58.1 to 1.58.0 (#6780) 2022-11-21 10:27:39 -08:00
Takashi Kokubun 792dc553f1
YJIT: Test --yjit-verify-ctx on GitHub Actions as well (#6639) 2022-10-26 18:20:33 -04:00
Nobuyoshi Nakada 1e66d3b853
Ignore manual files only commits [ci skip] 2022-10-20 21:58:06 +09:00
Takashi Kokubun 166140aa28
YJIT: Set RUST_BACKTRACE=1 in every Cirrus script (#6526)
* YJIT: Set RUST_BACKTRACE=1 in every Cirrus script

* YJIT: Print $CIRRUS_ENV correctly

It looks like $CIRRUS_ENV is cleaned up at every script.
2022-10-12 15:50:50 -04:00
Takashi Kokubun 912ea8257a
YJIT: Support Rust 1.58.1 for --yjit-stats on Arm (#6410)
* YJIT: Test Rust 1.58.1 as well on Cirrus

* YJIT: Avoid using a Rust 1.60.0 feature

* YJIT: Use autoconf to detect support

* YJIT: We actually need to run it

for checking it properly

* YJIT: Try cfg!(target_feature = "lse")

* Revert "YJIT: Try cfg!(target_feature = "lse")"

This reverts commit 4e2a9ca9a9c83052c23b5e205c91bdf79e88342e.

* YJIT: Add --features stats only when it works

* Update configure.ac

Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
2022-09-23 16:17:54 -04:00
Takashi Kokubun e896b33860
Test --enable-yjit on aarch64 as well (#6313) 2022-09-01 20:05:49 -07:00
Takashi Kokubun fb5fa84f83
Remove workarounds for slow compilation on Cirrus (#6310)
Remove workarounds for slow compilation
2022-09-01 20:05:13 -07:00
Nobuyoshi Nakada 811ca75f3b
Remove -j option
Close https://github.com/ruby/ruby/pull/6307

Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
2022-08-31 15:09:22 -07:00
Maxime Chevalier-Boisvert 4a4daf00af Update .cirrus.yml 2022-08-30 14:21:43 -07:00
Takashi Kokubun 918a658556 Run cargo test on Cirrus 2022-08-30 14:21:43 -07:00
Takashi Kokubun 497b5ee180 Normalize the YJIT Cirrus workflow a little 2022-08-30 14:21:43 -07:00
Takashi Kokubun c2e9253893 Stop saying it's temp checks (https://github.com/Shopify/ruby/pull/441) 2022-08-29 09:09:41 -07:00
Takashi Kokubun 4b7d3884df Avoid randomizing the order of test-all on arm64 (https://github.com/Shopify/ruby/pull/440)
for now
2022-08-29 09:09:41 -07:00
Takashi Kokubun 232e43fd52 Respect RUBY_TESTOPTS on test-all (https://github.com/Shopify/ruby/pull/435)
* Respect RUBY_TESTOPTS on test-all

* Increase the Cirrus timeout

* Increase the CSV test timeout
2022-08-29 09:09:41 -07:00
Takashi Kokubun d433eb957b Run tests with --yjit-call-threshold=1 on arm64 (https://github.com/Shopify/ruby/pull/426) 2022-08-29 09:09:41 -07:00
Takashi Kokubun d5fe9e1d9a Run test-all with RUBY_YJIT_ENABLE=1 on CI (https://github.com/Shopify/ruby/pull/418) 2022-08-29 09:09:41 -07:00
Takashi Kokubun 5114ddce3f Avoid marking op_type on gen_defined (https://github.com/Shopify/ruby/pull/419) 2022-08-29 09:09:41 -07:00
Maxime Chevalier-Boisvert 95dce1ccac
Temporarily disable rb_str_concat, add CI tests (https://github.com/Shopify/ruby/pull/407)
Make sure we can load the test-all runner and run test_yjit.rb
2022-08-29 08:47:11 -07:00
Maxime Chevalier-Boisvert b54643d13a
Handle out of memory tests (https://github.com/Shopify/ruby/pull/393) 2022-08-29 08:47:10 -07:00
Maxime Chevalier-Boisvert cad35fb25c
Try to run make -j in CI backend tests (https://github.com/Shopify/ruby/pull/386) 2022-08-29 08:47:09 -07:00
Takashi Kokubun 668b99b43b
Port gen_send_iseq to the new backend IR (https://github.com/Shopify/ruby/pull/381)
* Port gen_send_iseq to the new backend IR

* Replace occurrences of 8 by SIZEOF_VALUE

Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
2022-08-29 08:47:09 -07:00
Maxime Chevalier-Boisvert 32d9eef562
Enable test_literal.rb and test_ractor.rb on arm 2022-08-29 08:47:09 -07:00
Maxime Chevalier-Boisvert 85d6d76e41
Enable test_insns.rb on arm 2022-08-29 08:47:08 -07:00
Maxime Chevalier-Boisvert 46822ee13f
Enable btests now passing on arm (https://github.com/Shopify/ruby/pull/378) 2022-08-29 08:47:08 -07:00
Maxime Chevalier-Boisvert d63b3e43bd
Enable test_thread.rb on arm, now working 2022-08-29 08:47:06 -07:00
Maxime Chevalier-Boisvert 9db2ca723c
Add 1 more allocatable reg on arm 2022-08-29 08:47:06 -07:00
Maxime Chevalier-Boisvert e131b217cf
Test --yjit-stats in our CI workflows 2022-08-29 08:47:04 -07:00
Maxime Chevalier-Boisvert 133ad38777
Fix CI workflows 2022-08-29 08:47:04 -07:00
Kevin Newton f593b2c6db
Fixes for AArch64 (https://github.com/Shopify/ruby/pull/338)
* Better splitting for Op::Add, Op::Sub, and Op::Cmp

* Split stores if the displacement is too large

* Use a shifted immediate argument

* Split all places where shifted immediates are used

* Add more tests to the cirrus workflow
2022-08-29 08:47:04 -07:00
Maxime Chevalier-Boisvert 96303342e4
Enable more btests 2022-08-29 08:47:04 -07:00
Maxime Chevalier-Boisvert e9a2effd74
Enable more btests in the CI workflows (https://github.com/Shopify/ruby/pull/334)
* Enable more btests in the CI workflows

* Update workflows
2022-08-29 08:47:03 -07:00
Maxime Chevalier-Boisvert 90137f5194
Implement PosMarker instruction (https://github.com/Shopify/ruby/pull/328)
* Implement PosMarker instruction

* Implement PosMarker in the arm backend

* Make bindgen run only for clang image

* Fix if-else in cirrus CI file

* Add missing semicolon

* Try removing trailing semicolon

* Try to fix shell/YAML syntax

Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
2022-08-29 08:47:02 -07:00
Maxime Chevalier-Boisvert bf7277b518
Update cirrus workflow 2022-08-29 08:47:01 -07:00