Restore performance decision output writes #2455
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: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - 'agent/**' | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.head_ref || github.ref_name }} | |
| cancel-in-progress: true | |
| jobs: | |
| check: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 1 | |
| submodules: false | |
| - name: Setup Rust | |
| uses: ./.github/actions/setup-rust | |
| with: | |
| save-cache: 'true' | |
| - name: Check | |
| # The dedicated test262-subset job owns the subset gate; this job | |
| # checks out no test262 submodule. Split qjs-runtime's typed-array | |
| # tests into smaller processes on hosted runners to avoid resource | |
| # cancellation while preserving coverage. | |
| run: ./scripts/check-ci.sh | |
| - name: Build qjs-cli coverage artifact binary | |
| # Built with the `agents` feature so the Test262 coverage run can execute | |
| # the $262.agent multi-agent Atomics cases (QJS_AGENTS=1). The feature is | |
| # purely additive; default behavior is unchanged unless --agent is passed. | |
| run: cargo build -q --release -p qjs-cli --features agents | |
| - name: Upload qjs-cli artifact | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: qjs-cli-release-linux | |
| path: target/release/qjs | |
| retention-days: 7 | |
| compare-qjs: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 1 | |
| submodules: false | |
| - name: Setup Rust | |
| uses: ./.github/actions/setup-rust | |
| - name: Init submodules | |
| run: git submodule update --init --depth 1 third_party/quickjs-ng | |
| - name: QuickJS-NG cache key | |
| id: quickjs-ng | |
| run: echo "sha=$(git -C third_party/quickjs-ng rev-parse HEAD)" >> "$GITHUB_OUTPUT" | |
| - name: Restore QuickJS-NG build | |
| uses: actions/cache@v5 | |
| with: | |
| path: third_party/quickjs-ng/build | |
| key: quickjs-ng-${{ runner.os }}-${{ steps.quickjs-ng.outputs.sha }} | |
| - name: QuickJS comparison smoke tests | |
| run: ./scripts/compare-qjs.sh | |
| test262-subset: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 1 | |
| submodules: false | |
| - name: Setup Rust | |
| uses: ./.github/actions/setup-rust | |
| - name: Init submodules | |
| run: git submodule update --init --depth 1 third_party/test262 | |
| - name: Test262 subset metadata | |
| env: | |
| TEST262_CASE_TIMEOUT_SECONDS: 30 | |
| run: ./scripts/test262-subset.sh |