remove Ractor#take
#43
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-check' | |
| configure: '--enable-yjit=dev --enable-zjit' | |
| rust_version: "1.85.0" | |
| - test_task: 'ruby' # build test for combo build | |
| configure: '--enable-yjit --enable-zjit' | |
| - test_task: 'zjit-test-all' | |
| configure: '--enable-zjit=dev' | |
| testopts: '--seed=11831' | |
| - test_task: 'btest' | |
| configure: '--enable-zjit=dev' | |
| env: | |
| GITPULLOPTIONS: --no-tags origin ${{ github.ref }} | |
| RUN_OPTS: ${{ matrix.zjit_opts }} | |
| SPECOPTS: ${{ matrix.specopts }} | |
| TESTOPTS: ${{ matrix.testopts }} | |
| runs-on: macos-14 | |
| if: >- | |
| ${{!(false | |
| || contains(github.event.head_commit.message, '[DOC]') | |
| || contains(github.event.pull_request.title, '[DOC]') | |
| || contains(github.event.pull_request.labels.*.name, 'Documentation') | |
| || (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') | |
| )}} | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| 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 | |
| - name: Install Rust | |
| if: ${{ matrix.rust_version }} | |
| run: | | |
| rustup install ${{ matrix.rust_version }} --profile minimal | |
| rustup default ${{ matrix.rust_version }} | |
| - uses: taiki-e/install-action@v2 | |
| with: | |
| tool: nextest@0.9 | |
| if: ${{ matrix.test_task == 'zjit-check' }} | |
| - 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: Verify that --zjit-dump-disasm works | |
| run: | | |
| ./miniruby --zjit-call-threshold=1 --zjit-dump-disasm -e0 | \ | |
| wc -l | \ | |
| ruby -ne 'raise "Disassembly seems broken in dev build (output has too few lines)" unless $_.to_i > 10' | |
| if: ${{ contains(matrix.configure, 'jit=dev') }} | |
| - name: btest | |
| run: | | |
| RUST_BACKTRACE=1 ruby --disable=gems ../src/bootstraptest/runner.rb --ruby="./miniruby -I../src/lib -I. -I.ext/common --zjit-call-threshold=1" \ | |
| ../src/bootstraptest/test_attr.rb \ | |
| ../src/bootstraptest/test_autoload.rb \ | |
| ../src/bootstraptest/test_block.rb \ | |
| ../src/bootstraptest/test_class.rb \ | |
| ../src/bootstraptest/test_constant_cache.rb \ | |
| ../src/bootstraptest/test_env.rb \ | |
| ../src/bootstraptest/test_eval.rb \ | |
| ../src/bootstraptest/test_exception.rb \ | |
| ../src/bootstraptest/test_fiber.rb \ | |
| ../src/bootstraptest/test_finalizer.rb \ | |
| ../src/bootstraptest/test_flip.rb \ | |
| ../src/bootstraptest/test_flow.rb \ | |
| ../src/bootstraptest/test_fork.rb \ | |
| ../src/bootstraptest/test_gc.rb \ | |
| ../src/bootstraptest/test_insns.rb \ | |
| ../src/bootstraptest/test_io.rb \ | |
| ../src/bootstraptest/test_jump.rb \ | |
| ../src/bootstraptest/test_literal.rb \ | |
| ../src/bootstraptest/test_literal_suffix.rb \ | |
| ../src/bootstraptest/test_load.rb \ | |
| ../src/bootstraptest/test_marshal.rb \ | |
| ../src/bootstraptest/test_massign.rb \ | |
| ../src/bootstraptest/test_method.rb \ | |
| ../src/bootstraptest/test_objectspace.rb \ | |
| ../src/bootstraptest/test_proc.rb \ | |
| ../src/bootstraptest/test_ractor.rb \ | |
| ../src/bootstraptest/test_string.rb \ | |
| ../src/bootstraptest/test_struct.rb \ | |
| ../src/bootstraptest/test_syntax.rb \ | |
| ../src/bootstraptest/test_thread.rb \ | |
| ../src/bootstraptest/test_yjit_30k_ifelse.rb \ | |
| ../src/bootstraptest/test_yjit_30k_methods.rb \ | |
| ../src/bootstraptest/test_yjit_rust_port.rb | |
| # ../src/bootstraptest/test_yjit.rb \ | |
| if: ${{ matrix.test_task == 'btest' }} | |
| - name: make ${{ matrix.test_task }} | |
| run: >- | |
| make -s ${{ matrix.test_task }} ${TESTS:+TESTS="$TESTS"} | |
| RUN_OPTS="$RUN_OPTS" | |
| SPECOPTS="$SPECOPTS" | |
| TESTOPTS="$TESTOPTS" | |
| timeout-minutes: 60 | |
| env: | |
| RUBY_TESTOPTS: '-q --tty=no' | |
| TEST_BUNDLED_GEMS_ALLOW_FAILURES: '' | |
| SYNTAX_SUGGEST_TIMEOUT: '5' | |
| PRECHECK_BUNDLED_GEMS: 'no' | |
| TESTS: ${{ matrix.tests }} | |
| continue-on-error: ${{ matrix.continue-on-test_task || false }} | |
| if: ${{ matrix.test_task != 'btest' }} | |
| 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 |