[ruby/etc] bump up to 1.3.1
[ruby-80x24.org.git] / .cirrus.yml
blobc8fb326c89eb8c6bf3d94785d6d929dee47e94b3
1 # This CI is used to test Arm cases. We can set the maximum 16 tasks.
2 # The entire testing design is inspired from .github/workflows/compilers.yml.
4 # By default, Cirrus mounts an empty volume to `/tmp`
5 # which triggers all sorts of warnings like "system temporary path is world-writable: /tmp".
6 # Lets workaround it by specifying a custom volume mount point.
7 env:
8   CIRRUS_VOLUME: /cirrus-ci-volume
9   LANG: C.UTF-8
11 task:
12   name: Arm64 Graviton2 / $CC
13   skip: "changesIncludeOnly('doc/**', '**.{md,rdoc}')"
14   arm_container:
15     # We use the arm64 images at http://ghcr.io/ruby/ruby-ci-image .
16     image: ghcr.io/ruby/ruby-ci-image:$CC
17     # Define the used cpu core in each matrix task. We can use total 16 cpu
18     # cores in entire matrix. [cpu] = [total cpu: 16] / [number of tasks]
19     cpu: 8
20     # We can request maximum 4 GB per cpu.
21     # [memory per task] = [memory per cpu: 4 GB] * [cpu]
22     memory: 32G
23   env:
24     CIRRUS_CLONE_DEPTH: 50
25     optflags: '-O1'
26     debugflags: '-ggdb3'
27     RUBY_PREFIX: /tmp/ruby-prefix
28     RUBY_DEBUG: ci rgengc
29     RUBY_TESTOPTS: >-
30       -q
31       --color=always
32       --tty=no
33     matrix:
34       CC: clang-12
35       CC: gcc-11
36   id_script: id
37   set_env_script:
38     # Set `GNUMAKEFLAGS`, because the flags are GNU make specific. Note using
39     # the `make` environment variable used in compilers.yml causes some rubygems
40     # tests to fail.
41     # https://github.com/rubygems/rubygems/issues/4921
42     - echo "GNUMAKEFLAGS=-s -j$((1 + $CIRRUS_CPU))" >> $CIRRUS_ENV
43   print_env_script:
44     - echo "GNUMAKEFLAGS=$GNUMAKEFLAGS"
45   # Arm containers are executed in AWS's EKS, and it's not yet supporting IPv6
46   # See https://github.com/aws/containers-roadmap/issues/835
47   disable_ipv6_script: sudo ./tool/disable_ipv6.sh
48   autogen_script: ./autogen.sh
49   configure_script: >-
50     ./configure -C
51     --enable-debug-env
52     --disable-install-doc
53     --with-ext=-test-/cxxanyargs,+
54     --prefix="$RUBY_PREFIX"
55   make_extract-extlibs_script: make extract-extlibs
56   make_incs_script: make incs
57   make_script: make
58   make_leaked-globals_script: make leaked-globals
59   make_test_script: make test
60   make_install_script: make install
61   install_gems_for_test_script: $RUBY_PREFIX/bin/gem install --no-doc timezone tzinfo
62   make_test-tool_script: make test-tool
63   make_test-all_script: make test-all
64   make_test-spec_script: make test-spec