зеркало из https://github.com/github/ruby.git
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.
This commit is contained in:
Родитель
96648c5093
Коммит
92ad520ad0
|
@ -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: |
|
||||
|
|
|
@ -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
|
Загрузка…
Ссылка в новой задаче