diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-10-28 18:18:43 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-10-29 10:57:02 +0900 |
commit | 92ad520ad0372ad64ece6af6bbb6823e629c5d5b (patch) | |
tree | de938a5a0e68ca894facc29fb6eba9652f8cf8c6 /.github | |
parent | 96648c509353bb5972bb3a4866ab38e0143e9886 (diff) |
Merge macOS CIs to reduce concurrency
On GitHub Actions, the macOS runners seem much more expensive than
Ubuntu, and its limit is the most significant bottlenecks for our
CIs. As the "check" tasks usually finish 3 or 4 times faster than
"test-bundler-parallel", it will be balanced by running all three
"check" tasks sequentially.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/5046
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/macos.yml | 8 | ||||
-rw-r--r-- | .github/workflows/yjit-macos.yml | 80 |
2 files changed, 7 insertions, 81 deletions
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 1b07dd82ec..ab6f47bd26 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -19,6 +19,7 @@ jobs: test_task: [ "check", "test-bundler-parallel" ] #, "test-bundled-gems" ] matrix tests has unknown issues fail-fast: false env: + RUBY_TESTOPTS: '-q --tty=no' GITPULLOPTIONS: --no-tags origin ${{github.ref}} runs-on: ${{ matrix.os }} steps: @@ -52,8 +53,13 @@ jobs: - run: make -s ${{ matrix.test_task }} timeout-minutes: 40 env: - RUBY_TESTOPTS: "-q --tty=no" TEST_BUNDLED_GEMS_ALLOW_FAILURES: "rexml" + - run: make -s check RUN_OPTS="--yjit" + timeout-minutes: 60 + if: ${{ matrix.test_task == 'check' }} + - run: make -s check RUN_OPTS="--yjit --yjit-call-threshold=1 --yjit-max-versions=1" + timeout-minutes: 60 + if: ${{ matrix.test_task == 'check' }} - uses: k0kubun/action-slack@v2.0.0 with: payload: | diff --git a/.github/workflows/yjit-macos.yml b/.github/workflows/yjit-macos.yml deleted file mode 100644 index 600e93b986..0000000000 --- a/.github/workflows/yjit-macos.yml +++ /dev/null @@ -1,80 +0,0 @@ -name: YJIT macOS -on: - push: - paths-ignore: - - 'doc/**' - - '**.md' - - '**.rdoc' - pull_request: - paths-ignore: - - 'doc/**' - - '**.md' - - '**.rdoc' - -jobs: - make: - runs-on: macos-latest - strategy: - matrix: - test_task: [ "check" ] #, "test-bundler-parallel" ] #, "test-bundled-gems" ] - yjit_opts: [ - "--yjit", - "--yjit --yjit-call-threshold=1 --yjit-max-versions=1", - # "--yjit --yjit-call-threshold=1", - # "--yjit --yjit-call-threshold=2" - ] - fail-fast: false - env: - TESTOPTS: '-q --tty=no' - RUN_OPTS: '--disable-gems ${{ matrix.yjit_opts }}' - GITPULLOPTIONS: --no-tags origin ${{github.ref}} - steps: - - run: mkdir build - working-directory: - - name: git config - run: | - git config --global advice.detachedHead 0 - git config --global init.defaultBranch garbage - - uses: actions/checkout@v2 - with: - path: src - - name: Install libraries - run: | - brew upgrade - brew install gmp libffi openssl@1.1 zlib autoconf automake libtool readline - working-directory: src - - name: Set ENV - run: | - echo "MAKEFLAGS=-j$((1 + $(sysctl -n hw.activecpu)))" >> $GITHUB_ENV - - run: ./autogen.sh - working-directory: src - - name: Run configure - run: ../src/configure -C --disable-install-doc --with-openssl-dir=$(brew --prefix openssl@1.1) --with-readline-dir=$(brew --prefix readline) - - run: make incs - - run: make - - run: make leaked-globals - if: ${{ matrix.test_task == 'check' }} - - run: make prepare-gems - if: ${{ matrix.test_task == 'check' }} - - run: make -s ${{ matrix.test_task }} RUN_OPTS="$RUN_OPTS" - timeout-minutes: 60 - env: - RUBY_TESTOPTS: "-q --tty=no" - TEST_BUNDLED_GEMS_ALLOW_FAILURES: "rexml" - - uses: k0kubun/action-slack@v2.0.0 - with: - payload: | - { - "ci": "GitHub Actions", - "env": "${{ github.workflow }} / ${{ matrix.test_task }}", - "url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}", - "commit": "${{ github.sha }}", - "branch": "${{ github.ref }}".split('/').reverse()[0] - } - env: - SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot - if: ${{ failure() && github.event_name == 'push' }} - -defaults: - run: - working-directory: build |