[前][次][番号順一覧][スレッド一覧]

ruby-changes:73179

From: Maxime <ko1@a...>
Date: Tue, 30 Aug 2022 00:58:01 +0900 (JST)
Subject: [ruby-changes:73179] 38c2fb8a90 (master): Port YJIT New Backend Temp Checks to Cirrus (https://github.com/Shopify/ruby/pull/312)

https://git.ruby-lang.org/ruby.git/commit/?id=38c2fb8a90

From 38c2fb8a90172bcaabc153016f0a43b92a921d9c Mon Sep 17 00:00:00 2001
From: Maxime Chevalier-Boisvert <maximechevalierb@g...>
Date: Tue, 12 Jul 2022 13:40:59 -0400
Subject: Port YJIT New Backend Temp Checks to Cirrus
 (https://github.com/Shopify/ruby/pull/312)

Co-authored-by: Jean Boussier <jean.boussier@g...>
---
 .cirrus.yml | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/.cirrus.yml b/.cirrus.yml
index ec8036297c..a2c2cf84aa 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -62,3 +62,62 @@ task: https://github.com/ruby/ruby/blob/trunk/.cirrus.yml#L62
   make_test-tool_script: make test-tool
   make_test-all_script: make test-all
   make_test-spec_script: make test-spec
+
+
+# The following is to test YJIT on ARM64 CPUs available on Cirrus CI
+yjit_task:
+  name: Arm64 Graviton2 / $CC YJIT New Backend Temp Checks
+  auto_cancellation: $CIRRUS_BRANCH != 'master'
+  skip: "changesIncludeOnly('doc/**', '**.{md,rdoc}')"
+  arm_container:
+    # We use the arm64 images at https://github.com/ruby/ruby-ci-image/pkgs/container/ruby-ci-image .
+    image: ghcr.io/ruby/ruby-ci-image:$CC
+    # Define the used cpu core in each matrix task. We can use total 16 cpu
+    # cores in entire matrix. [cpu] = [total cpu: 16] / [number of tasks]
+    cpu: 8
+    # We can request maximum 4 GB per cpu.
+    # [memory per task] = [memory per cpu: 4 GB] * [cpu]
+    memory: 32G
+  env:
+    CIRRUS_CLONE_DEPTH: 50
+    optflags: '-O1'
+    debugflags: '-ggdb3'
+    RUBY_PREFIX: /tmp/ruby-prefix
+    RUBY_DEBUG: ci rgengc
+    RUBY_TESTOPTS: >-
+      -q
+      --color=always
+      --tty=no
+    matrix:
+      CC: clang-12
+      CC: gcc-11
+  id_script: id
+  set_env_script:
+    # Set `GNUMAKEFLAGS`, because the flags are GNU make specific. Note using
+    # the `make` environment variable used in compilers.yml causes some rubygems
+    # tests to fail.
+    # https://github.com/rubygems/rubygems/issues/4921
+    - echo "GNUMAKEFLAGS=-s -j$((1 + $CIRRUS_CPU))" >> $CIRRUS_ENV
+  print_env_script:
+    - echo "GNUMAKEFLAGS=$GNUMAKEFLAGS"
+  # Arm containers are executed in AWS's EKS, and it's not yet supporting IPv6
+  # See https://github.com/aws/containers-roadmap/issues/835
+  disable_ipv6_script: sudo ./tool/disable_ipv6.sh
+  install_rust_script:
+    - sudo apt-get update -y
+    - sudo apt-get install -y curl
+    - "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y"
+  autogen_script: ./autogen.sh
+  configure_script: >-
+    source $HOME/.cargo/env && ./configure -C
+    --enable-debug-env
+    --disable-install-doc
+    --with-ext=-test-/cxxanyargs,+
+    --prefix="$RUBY_PREFIX"
+    --enable-yjit=dev
+  make_miniruby_script: source $HOME/.cargo/env && make -j miniruby
+  make_bindgen_script: source $HOME/.cargo/env && make -j yjit-bindgen
+  boot_miniruby_script: RUST_BACKTRACE=1 ./miniruby --yjit-call-threshold=1 -e0
+  # output_stats_script: RUST_BACKTRACE=1 ./miniruby --yjit-call-threshold=1 --yjit-stats -e0
+  bootstrap_tests_script: RUST_BACKTRACE=1 ruby --disable=gems bootstraptest/runner.rb --ruby="./miniruby -I./lib -I. -I.ext/common --disable-gems --yjit-call-threshold=1 --yjit-verify-ctx" bootstraptest/test_yjit_new_backend.rb
+  # full_build_script: make -j
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]