name: Build and Test on: merge_group: workflow_dispatch: pull_request: branches: - master push: branches: - master permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} env: NODE_VERSION: 18 CACHE_KEY: "${{ github.ref }}-${{ github.run_id }}-${{ github.run_attempt }}" jobs: build: name: Build Package runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - uses: ./.github/actions/build with: node: ${{ env.NODE_VERSION }} - name: Save build artifacts uses: actions/cache/save@v3 with: path: . key: ${{ env.CACHE_KEY }} unit: needs: build # Require build to complete before running tests name: Run Unit Tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} cache: npm - uses: actions/cache/restore@v3 with: path: . key: ${{ env.CACHE_KEY }} - run: npm run test - uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d # pin@3.1.4