Use EnvUtil.apply_timeout_scale for test_io_wait.rb #319
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ZJIT macOS Arm64 | |
on: | |
push: | |
branches: | |
- master | |
paths-ignore: | |
- 'doc/**' | |
- '**/man/*' | |
- '**.md' | |
- '**.rdoc' | |
- '**/.document' | |
- '.*.yml' | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
- reopened | |
# Do not use paths-ignore for required status checks | |
# https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/troubleshooting-required-status-checks#handling-skipped-but-required-checks | |
merge_group: | |
concurrency: | |
group: ${{ github.workflow }} / ${{ startsWith(github.event_name, 'pull') && github.ref_name || github.sha }} | |
cancel-in-progress: ${{ startsWith(github.event_name, 'pull') }} | |
permissions: | |
contents: read | |
jobs: | |
make: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- test_task: 'zjit-test' | |
configure: '--enable-zjit=dev' | |
- test_task: 'test-all' | |
configure: '--enable-zjit=dev' | |
tests: '../src/test/ruby/test_zjit.rb' | |
env: | |
GITPULLOPTIONS: --no-tags origin ${{ github.ref }} | |
RUN_OPTS: ${{ matrix.zjit_opts }} | |
SPECOPTS: ${{ matrix.specopts }} | |
runs-on: macos-14 | |
if: >- | |
${{!(false | |
|| contains(github.event.head_commit.message, '[DOC]') | |
|| contains(github.event.head_commit.message, 'Document') | |
|| contains(github.event.pull_request.title, '[DOC]') | |
|| contains(github.event.pull_request.title, 'Document') | |
|| contains(github.event.pull_request.labels.*.name, 'Documentation') | |
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
)}} | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: | |
sparse-checkout-cone-mode: false | |
sparse-checkout: /.github | |
- name: Install libraries | |
uses: ./.github/actions/setup/macos | |
- uses: ./.github/actions/setup/directories | |
with: | |
srcdir: src | |
builddir: build | |
makeup: true | |
dummy-files: ${{ matrix.test_task == 'check' }} | |
# Set fetch-depth: 10 so that Launchable can receive commits information. | |
fetch-depth: 10 | |
- uses: taiki-e/install-action@v2 | |
with: | |
tool: nextest@0.9 | |
if: ${{ matrix.test_task == 'zjit-test' }} | |
- name: Install Rust # TODO(alan): remove when GitHub images catch up past 1.85.0 | |
run: rustup default 1.85.0 | |
- name: Run configure | |
run: ../src/configure -C --disable-install-doc ${{ matrix.configure }} | |
- run: make prepare-gems | |
if: ${{ matrix.test_task == 'test-bundled-gems' }} | |
- run: make | |
- name: make ${{ matrix.test_task }} | |
run: >- | |
make -s ${{ matrix.test_task }} ${TESTS:+TESTS="$TESTS"} | |
RUN_OPTS="$RUN_OPTS" | |
SPECOPTS="$SPECOPTS" | |
timeout-minutes: 60 | |
env: | |
RUBY_TESTOPTS: '-q --tty=no' | |
TEST_BUNDLED_GEMS_ALLOW_FAILURES: 'typeprof' | |
SYNTAX_SUGGEST_TIMEOUT: '5' | |
PRECHECK_BUNDLED_GEMS: 'no' | |
TESTS: ${{ matrix.tests }} | |
continue-on-error: ${{ matrix.continue-on-test_task || false }} | |
result: | |
if: ${{ always() }} | |
name: ${{ github.workflow }} result | |
runs-on: macos-14 | |
needs: [make] | |
steps: | |
- run: exit 1 | |
working-directory: | |
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} | |
defaults: | |
run: | |
working-directory: build |