Make module namespaces read live exports #1547
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 | |
| run: cargo build -q --release -p qjs-cli | |
| - 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 |