diff options
| author | nagachika <nagachika@ruby-lang.org> | 2023-07-16 23:27:44 +0900 |
|---|---|---|
| committer | nagachika <nagachika@ruby-lang.org> | 2023-07-16 23:27:44 +0900 |
| commit | 35b0f10519afb5446dc1da1ebea440cc1efdc8d9 (patch) | |
| tree | 013c207023df6f45a977a40ca3cfc03f068a6c2f | |
| parent | e14280fa25b085a1c9521d45064529984f5c6324 (diff) | |
merge revision(s) 3a761dcc91fcbed828699fcc38017f14a1a2db65,d2ffd0ad3d225b6b9e121278146eae8500e9f259:
[Cirrus] Show CPU and memory info
---
.cirrus.yml | 6 ++++++
1 file changed, 6 insertions(+)
[Cirrus] Share configuration using YAML aliases
https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks
---
.cirrus.yml | 113 ++++++++++++++++++------------------------------------------
1 file changed, 33 insertions(+), 80 deletions(-)
| -rw-r--r-- | .cirrus.yml | 110 | ||||
| -rw-r--r-- | version.h | 2 |
2 files changed, 36 insertions, 76 deletions
diff --git a/.cirrus.yml b/.cirrus.yml index c8b5620960..1cb7f339da 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -6,10 +6,20 @@ # 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: ':' -task: - name: Arm64 Graviton2 / $CC +config_template: &CONFIG_TEMPLATE skip: "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 . @@ -20,24 +30,13 @@ task: # 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: gcc-11 + id_script: id + info_script: | + nproc + free -h 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 + # Set `GNUMAKEFLAGS`, because the flags are GNU make specific. - echo "GNUMAKEFLAGS=-s -j$((1 + $CIRRUS_CPU))" >> "$CIRRUS_ENV" - cat "$CIRRUS_ENV" bundled_gems_cache: @@ -54,11 +53,20 @@ task: disable_ipv6_script: sudo ./tool/disable_ipv6.sh autogen_script: ./autogen.sh configure_script: >- + $INIT_ENV && ./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 @@ -73,76 +81,28 @@ task: # The following is to test YJIT on ARM64 CPUs available on Cirrus CI yjit_task: name: Arm64 Graviton2 / $CC YJIT - auto_cancellation: $CIRRUS_BRANCH != 'master' - skip: "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 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 + INIT_ENV: source $HOME/.cargo/env matrix: - CC: gcc-11 configure: --enable-yjit - 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" - - echo RUST_BACKTRACE=1 >> "$CIRRUS_ENV" - - cat "$CIRRUS_ENV" - bundled_gems_cache: - folder: .downloaded-cache - fingerprint_script: - sed -e '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 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 $rustup_init" - 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" - $configure - make_miniruby_script: source $HOME/.cargo/env && make miniruby + << : *CONFIG_TEMPLATE + make_miniruby_script: $INIT_ENV && make miniruby make_bindgen_script: | if [[ "$CC" = "clang-12" ]]; then - source $HOME/.cargo/env && make yjit-bindgen + $INIT_ENV && 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: source $HOME/.cargo/env && make - cargo_test_script: source $HOME/.cargo/env && cd yjit && cargo test - make_test_script: source $HOME/.cargo/env && make test RUN_OPTS="--yjit-call-threshold=1 --yjit-verify-ctx" - make_test_all_script: source $HOME/.cargo/env && make test-all RUN_OPTS="--yjit-call-threshold=1 --yjit-verify-ctx" TESTOPTS="$RUBY_TESTOPTS" - make_test_spec_script: source $HOME/.cargo/env && make test-spec RUN_OPTS="--yjit-call-threshold=1 --yjit-verify-ctx" + full_build_script: $INIT_ENV && make + cargo_test_script: $INIT_ENV && cd yjit && cargo test + make_test_script: $INIT_ENV && make test RUN_OPTS="--yjit-call-threshold=1 --yjit-verify-ctx" + make_test_all_script: $INIT_ENV && make test-all RUN_OPTS="--yjit-call-threshold=1 --yjit-verify-ctx" TESTOPTS="$RUBY_TESTOPTS" + make_test_spec_script: $INIT_ENV && make test-spec RUN_OPTS="--yjit-call-threshold=1 --yjit-verify-ctx" @@ -11,7 +11,7 @@ # define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR #define RUBY_VERSION_TEENY 2 #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR -#define RUBY_PATCHLEVEL 74 +#define RUBY_PATCHLEVEL 75 #include "ruby/version.h" #include "ruby/internal/abi.h" |
