diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2023-10-17 08:27:49 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-17 11:27:49 -0400 |
commit | 01b5d1d2ff6ca91b2909dfa67295f59b53e6f065 (patch) | |
tree | bc2e62a8eb8cb5948a1d6a3d02bbca6f0ad16f05 /.cirrus.yml | |
parent | 4c54492770cd7dcf03360c9061358f6e640b5075 (diff) |
YJIT: Add a cargo job for Arm64 and remove .cirrus.yml (#8679)
* 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
Diffstat (limited to '.cirrus.yml')
-rw-r--r-- | .cirrus.yml | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/.cirrus.yml b/.cirrus.yml deleted file mode 100644 index b59badfb4a..0000000000 --- a/.cirrus.yml +++ /dev/null @@ -1,109 +0,0 @@ -# This CI is used to test Arm cases. We can set the maximum 16 tasks. -# The entire testing design is inspired from .github/workflows/compilers.yml. - -# By default, Cirrus mounts an empty volume to `/tmp` -# which triggers all sorts of warnings like "system temporary path is world-writable: /tmp". -# Lets workaround it by specifying a custom volume mount point. -env: - CIRRUS_VOLUME: /cirrus-ci-volume - CIRRUS_CLONE_DEPTH: 50 - LANG: C.UTF-8 - optflags: '-O1' - debugflags: '-ggdb3' - RUBY_PREFIX: /tmp/ruby-prefix - RUBY_DEBUG: ci rgengc - RUBY_TESTOPTS: >- - -q - --color=always - --tty=no - RUST_BACKTRACE: 1 - INIT_ENV: - -config_template: &CONFIG_TEMPLATE - only_if: changesInclude('.cirrus.yml', 'yjit.{c,h,rb}', 'yjit/**.{mk,rs,toml}', 'bootstraptest/test_yjit*.rb', 'test/ruby/test_yjit*.rb') - skip: >- - $CIRRUS_CHANGE_MESSAGE =~ '.*\[DOC\].*' || - $CIRRUS_PR_LABELS =~ '.*Documentation.*' || - changesIncludeOnly('doc/**', '**.{md,rdoc,ronn,[1-8]}', '.document') - 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 - - id_script: id - info_script: | - nproc - free -h - set_env_script: - # Set `GNUMAKEFLAGS`, because the flags are GNU make specific. - - echo "GNUMAKEFLAGS=-s -j$((1 + $CIRRUS_CPU))" >> "$CIRRUS_ENV" - - '[ -z "$INIT_ENV" ] || printenv | sort | comm -13 - <(set -x; source $INIT_ENV && printenv | sort) | tee -a "$CIRRUS_ENV"' - - cat "$CIRRUS_ENV" - bundled_gems_cache: - folder: .downloaded-cache - fingerprint_script: - sed 's/ */ /g;s/ *#.*//;/^$/d;s/\([^ ]*\) \([^ ]*\)/\1-\2.gem/;s/ .*//' gems/bundled_gems - populate_script: | - sudo apt-get install --no-install-recommends -q -y wget - mkdir -p .downloaded-cache - sed 's/ */ /g;s/ *#.*//;/^$/d;s/\([^ ]*\) \([^ ]*\)/\1-\2.gem/;s/ .*//' gems/bundled_gems | - wget -nv -P .downloaded-cache -nd -B https://rubygems.org/downloads/ -i - - # 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 - autogen_script: ./autogen.sh - configure_script: >- - ./configure -C - --enable-debug-env - --disable-install-doc - --with-ext=-test-/cxxanyargs,+ - --prefix="$RUBY_PREFIX" - $configure - -task: - name: Arm64 Graviton2 / $CC - env: - matrix: - CC: gcc-11 - << : *CONFIG_TEMPLATE - make_extract-extlibs_script: make extract-extlibs - make_incs_script: make incs - make_script: make - make_test_script: make test - make_install_script: make install - install_gems_for_test_script: $RUBY_PREFIX/bin/gem install --no-doc timezone tzinfo - 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 - env: - INIT_ENV: $HOME/.cargo/env - matrix: - - CC: gcc-11 - configure: --enable-yjit - << : *CONFIG_TEMPLATE - make_miniruby_script: make miniruby - make_bindgen_script: | - if [[ "$CC" = "clang-12" ]]; then - make yjit-bindgen - else - echo "only running bindgen on clang image" - fi - boot_miniruby_script: ./miniruby --yjit-call-threshold=1 -e0 - test_dump_insns_script: ./miniruby --yjit-call-threshold=1 --yjit-dump-insns -e0 - output_stats_script: ./miniruby --yjit-call-threshold=1 --yjit-stats -e0 - full_build_script: make - cargo_test_script: cd yjit && cargo test - make_test_script: make test RUN_OPTS="--yjit-call-threshold=1 --yjit-verify-ctx" - make_test_all_script: make test-all RUN_OPTS="--yjit-call-threshold=1 --yjit-verify-ctx" TESTOPTS="$RUBY_TESTOPTS" - make_test_spec_script: make test-spec RUN_OPTS="--yjit-call-threshold=1 --yjit-verify-ctx" - # Cirrus Rust environments don't have enough permission to run `rustup component add clippy`. - # clippy_script: cd yjit && rustup component add clippy && cargo clippy --all-targets --all-features |