diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4f76bb10..b5eb3c4f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,7 @@ jobs: changes: runs-on: ubuntu-latest outputs: - extended: ${{ steps.filter.outputs.extended }} + extended: ${{ steps.filter.outputs.extended || steps.keyword.outputs.extended }} steps: - uses: actions/checkout@v4 - uses: dorny/paths-filter@v3 @@ -22,6 +22,15 @@ jobs: - 'src/ev/**' - 'src/os/**' - '.github/workflows/test.yml' + - name: Check for [ci:extended] in PR body + id: keyword + if: github.event_name == 'pull_request' + run: | + if echo "$PR_BODY" | grep -qF '[ci:extended]'; then + echo "extended=true" >> "$GITHUB_OUTPUT" + fi + env: + PR_BODY: ${{ github.event.pull_request.body }} basic: needs: changes @@ -60,6 +69,7 @@ jobs: fail-fast: false matrix: zig_version: ['0.15.2'] + mode: [debug, release] config: - { os: ubuntu-24.04, target: native, backends: 'io_uring epoll poll' } - { os: ubuntu-24.04-arm, target: native, backends: 'io_uring epoll poll' } @@ -103,7 +113,8 @@ jobs: ./check.sh --full --backend $backend \ ${{ matrix.config.target != 'native' && format('--target {0}', matrix.config.target) || '' }} \ ${{ matrix.config.qemu && '--qemu' || '' }} \ - ${{ matrix.config.vm && '--no-exec' || '' }} + ${{ matrix.config.vm && '--no-exec' || '' }} \ + ${{ matrix.mode == 'release' && '--release' || '' }} if [ -n "${{ matrix.config.vm }}" ]; then cp zig-out/bin/test zig-out/bin/test-$backend fi diff --git a/check.sh b/check.sh index 90e11078..d92069af 100755 --- a/check.sh +++ b/check.sh @@ -106,8 +106,8 @@ if [ "$NO_EXEC" = true ]; then BUILD_ARGS="$BUILD_ARGS -Demit-test-bin" fi if [ "$RELEASE_MODE" = true ]; then - echo "Build mode: ReleaseFast" - BUILD_ARGS="$BUILD_ARGS -Doptimize=ReleaseFast" + echo "Build mode: ReleaseSafe" + BUILD_ARGS="$BUILD_ARGS -Doptimize=ReleaseSafe" fi if [ "$VERBOSE" = true ]; then export TEST_VERBOSE=true