address pnpm audit issues #1252
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: Run unit tests | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| test: | |
| name: "Unit tests" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: "Checking changed files" | |
| id: files | |
| uses: softprops/diffset@d5947696689a571f7a984a52505e2649eead5c22 # v1 | |
| if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository | |
| with: | |
| base: main | |
| global_files: | | |
| !{packages/**/*,configs/e2e/*.json,scripts/**/*,data/**/*} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: "Checking-out code" | |
| uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 | |
| with: | |
| fetch-depth: 0 | |
| - name: "Fetching main to compare" | |
| if: github.event_name == 'pull_request' && steps.files.outputs.global_files == '' | |
| run: git fetch --no-tags --prune --depth=1 origin +refs/heads/${{ github.base_ref }}:refs/remotes/origin/${{ github.base_ref }} | |
| - name: "Defining environment variables" | |
| id: variables | |
| run: echo "arg=$(if [ "${{ steps.files.outputs.global_files }}" = "" ] && ${{ github.event_name == 'pull_request' }}; then echo '...[origin/main]'; else echo '**'; fi)" >> ${{ runner.os == 'Windows' && '$env:GITHUB_OUTPUT' || '$GITHUB_OUTPUT' }} | |
| - name: "Defining node version" | |
| uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3 | |
| with: | |
| node-version-file: ".nvmrc" | |
| - name: "Setup pnpm" | |
| uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4 | |
| - name: "Get pnpm store directory" | |
| id: pnpm-cache | |
| shell: bash | |
| run: | | |
| echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT | |
| - name: "Defining cache" | |
| uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4 | |
| env: | |
| cache-name: cache-node-modules | |
| with: | |
| path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} | |
| key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm-store- | |
| - name: "Installing dependencies" | |
| run: pnpm install | |
| - name: "Linting code" | |
| run: pnpm -r --filter=${{ steps.variables.outputs.arg }} run lint | |
| - name: "Running unit tests" | |
| run: pnpm -r --filter=${{ steps.variables.outputs.arg }} run test |