diff --git a/.github/actions/ci-setup/action.yml b/.github/actions/ci-setup/action.yml index dfe56eb0..951d4e82 100644 --- a/.github/actions/ci-setup/action.yml +++ b/.github/actions/ci-setup/action.yml @@ -4,7 +4,7 @@ runs: using: composite steps: - name: Setup Node.js - uses: actions/setup-node@v6 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version-file: ".node-version" cache: yarn diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 386f643f..05cde2cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,26 +1,46 @@ -name: Node CI +name: CI on: - push: - branches: - - main pull_request: + push: + branches: [main] + merge_group: + branches: [main] + +permissions: + contents: read jobs: - build: + test: + name: Test timeout-minutes: 20 - runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - with: - ref: ${{ github.event.pull_request.head.sha }} + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: ./.github/actions/ci-setup + + - name: Test + run: yarn test + typecheck: + name: Typecheck + timeout-minutes: 20 + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: ./.github/actions/ci-setup - name: Typecheck run: yarn typecheck - - name: Test - run: yarn test + ci-ok: + name: CI OK + runs-on: ubuntu-latest + if: always() + needs: [test, typecheck] + steps: + - name: Exit with error if some jobs are not successful + run: exit 1 + if: ${{ always() && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'skipped') || contains(needs.*.result, 'cancelled')) }} diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index eecbc210..31d21afc 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -36,7 +36,7 @@ jobs: runs-on: ubuntu-latest needs: release_check steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: ./.github/actions/ci-setup - name: Checkout pull request diff --git a/.github/workflows/version-or-publish.yml b/.github/workflows/version-or-publish.yml index 2e046dfb..4e7f070c 100644 --- a/.github/workflows/version-or-publish.yml +++ b/.github/workflows/version-or-publish.yml @@ -11,7 +11,7 @@ jobs: changesets: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: ./.github/actions/ci-setup - name: Build