Merge branch 'alpha' into feat/spawn-ant-owner-distinct-from-payer #2371
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: Build and Test | |
| concurrency: | |
| group: ${{ github.ref_name }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches-ignore: | |
| - main | |
| - alpha | |
| - solana | |
| # Promotion PRs (alpha -> main) have `alpha` as their head, which the | |
| # branches-ignore above skips — so they produced NO build/test checks at all | |
| # and `main`'s required status checks could never be satisfied. Scoped to | |
| # PRs targeting main so feature -> alpha PRs keep relying on the push run | |
| # above instead of running the whole matrix twice. | |
| pull_request: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| workflow_call: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node_version: [18.x, 20.x] | |
| command: ["lint:check", "format:check", "build"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set Up node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node_version }} | |
| cache: "yarn" | |
| - name: Install dependencies | |
| run: yarn --immutable --immutable-cache | |
| - run: yarn ${{ matrix.command }} | |
| - name: Upload build artifacts | |
| if: matrix.command == 'build' && matrix.node_version == '20.x' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: build-artifacts | |
| path: | | |
| lib/ | |
| bundles/ | |
| !**/*.map | |
| test: | |
| strategy: | |
| matrix: | |
| suite: [unit] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set Up node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .nvmrc | |
| cache: "yarn" | |
| - name: Install dependencies | |
| run: yarn --immutable --immutable-cache | |
| - name: Run tests | |
| run: yarn test:${{ matrix.suite }} | |
| - name: Upload coverage | |
| if: matrix.suite == 'unit' | |
| uses: codecov/codecov-action@v4.0.1 | |
| env: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| notify: | |
| needs: [build, test] | |
| if: success() | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Send Slack notification | |
| uses: rtCamp/action-slack-notify@v2 | |
| env: | |
| SLACK_TITLE: "Build & unit tests succeeded!" | |
| SLACK_COLOR: "good" | |
| SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | |