diff options
Diffstat (limited to '.github/workflows/modgc.yml')
| -rw-r--r-- | .github/workflows/modgc.yml | 63 |
1 files changed, 26 insertions, 37 deletions
diff --git a/.github/workflows/modgc.yml b/.github/workflows/modgc.yml index 03244c4a3d..218127aad7 100644 --- a/.github/workflows/modgc.yml +++ b/.github/workflows/modgc.yml @@ -27,9 +27,8 @@ jobs: gc: - name: default - name: mmtk - mmtk_plan: MarkSweep mmtk_build: release - os: [macos-latest, ubuntu-latest] + os: [macos-26, ubuntu-latest] include: - test_task: check fail-fast: false @@ -43,18 +42,17 @@ jobs: 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]') + || (github.event.pull_request.user.login == 'dependabot[bot]') )}} steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: sparse-checkout-cone-mode: false sparse-checkout: /.github + persist-credentials: false - name: Install libraries (macOS) uses: ./.github/actions/setup/macos @@ -64,9 +62,9 @@ jobs: uses: ./.github/actions/setup/ubuntu if: ${{ contains(matrix.os, 'ubuntu') }} - - uses: ruby/setup-ruby@a6e6f86333f0a2523ece813039b8b4be04560854 # v1.190.0 + - uses: ruby/setup-ruby@afeafc3d1ab54a631816aba4c914a0081c12ff2f # v1.310.0 with: - ruby-version: '3.0' + ruby-version: '3.1' bundler: none if: ${{ contains(matrix.os, 'ubuntu') }} @@ -103,26 +101,20 @@ jobs: - name: Run configure env: arch: ${{ matrix.arch }} - run: >- - $SETARCH ../src/configure -C --disable-install-doc --with-modular-gc=${{ env.MODULAR_GC_DIR }} + run: | + ${SETARCH} ../src/configure -C --disable-install-doc --with-modular-gc="${MODULAR_GC_DIR}" \ ${arch:+--target=$arch-$OSTYPE --host=$arch-$OSTYPE} - - uses: actions-rust-lang/setup-rust-toolchain@v1 + - uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1.16.1 + with: + cache-bin: false - name: Set MMTk environment variables run: | - if [[ ${{ matrix.gc.mmtk_build }} == debug ]]; then - echo 'RUST_LOG=' >> $GITHUB_ENV - # Debug builds run much slower so we should increase the timeout - echo 'RUBY_TEST_TIMEOUT_SCALE=10' >> $GITHUB_ENV - # SYNTAX_SUGGEST_TIMEOUT defaults to 1 second - echo 'SYNTAX_SUGGEST_TIMEOUT=60' >> $GITHUB_ENV - fi - echo 'MMTK_PLAN=${{ matrix.gc.mmtk_plan }}' >> $GITHUB_ENV echo 'EXCLUDES=../src/test/.excludes-mmtk' >> $GITHUB_ENV echo 'MSPECOPT=-B../src/spec/mmtk.mspec' >> $GITHUB_ENV if: ${{ matrix.gc.name == 'mmtk' }} - - run: $SETARCH make + - run: ${SETARCH} make - name: Build Modular GC run: | @@ -130,7 +122,7 @@ jobs: make install-modular-gc MODULAR_GC=${{ matrix.gc.name }} MMTK_BUILD=${{ matrix.gc.mmtk_build }} make distclean-modular-gc MODULAR_GC=${{ matrix.gc.name }} - - run: $SETARCH make hello + - run: ${SETARCH} make hello - name: Set test options for skipped tests run: | @@ -140,6 +132,7 @@ jobs: if: ${{ matrix.test_task == 'check' && matrix.skipped_tests }} - name: Set up Launchable + id: launchable uses: ./.github/actions/launchable/setup with: os: ${{ matrix.os || 'ubuntu-22.04' }} @@ -148,21 +141,27 @@ jobs: builddir: build srcdir: src continue-on-error: true + timeout-minutes: 3 - name: make ${{ matrix.test_task }} - run: >- - $SETARCH make -s ${{ matrix.test_task }} - ${TESTS:+TESTS="$TESTS"} - ${{ !contains(matrix.test_task, 'bundle') && 'RUBYOPT=-w' || '' }} + run: | + test -n "${LAUNCHABLE_STDOUT}" && exec 1> >(tee "${LAUNCHABLE_STDOUT}") + test -n "${LAUNCHABLE_STDERR}" && exec 2> >(tee "${LAUNCHABLE_STDERR}") + + ${SETARCH} make -s ${{ matrix.test_task }} \ + ${TESTS:+TESTS="$TESTS"} \ + ${{ !contains(matrix.test_task, 'bundle') && 'RUBYOPT=-w' || '' }} timeout-minutes: ${{ matrix.gc.timeout || 40 }} env: RUBY_TESTOPTS: '-q --tty=no' - TEST_BUNDLED_GEMS_ALLOW_FAILURES: 'typeprof' + TEST_BUNDLED_GEMS_ALLOW_FAILURES: '' PRECHECK_BUNDLED_GEMS: 'no' + LAUNCHABLE_STDOUT: ${{ steps.launchable.outputs.stdout_report_path }} + LAUNCHABLE_STDERR: ${{ steps.launchable.outputs.stderr_report_path }} - name: make skipped tests run: | - $SETARCH make -s test-all TESTS="${TESTS//-n!\//-n/}" + ${SETARCH} make -s test-all TESTS="${TESTS//-n!\//-n/}" env: GNUMAKEFLAGS: '' RUBY_TESTOPTS: '-v --tty=no' @@ -175,16 +174,6 @@ jobs: SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot if: ${{ failure() }} - result: - if: ${{ always() }} - name: ${{ github.workflow }} result - runs-on: ubuntu-latest - needs: [check] - steps: - - run: exit 1 - working-directory: - if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} - defaults: run: working-directory: build |
