.github/workflows/pull-request-jobs.yml
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions name: Node.js CI on: pull_request: branches: [ master ] jobs: lint-test: runs-on: ubuntu-latest steps: - name: Cancel Workflow Action uses: styfle/cancel-workflow-action@0.12.1 with: access_token: ${{ github.token }} - name: Checkout uses: actions/checkout@v4 - name: Read .nvmrc run: echo ::set-output name=NVMRC::$(cat .nvmrc) id: nvm - name: Use Node.js ${{ steps.nvm.outputs.NVMRC }} uses: actions/setup-node@v4 with: node-version: ${{ steps.nvm.outputs.NVMRC }} - name: Install pnpm uses: pnpm/action-setup@v3 with: version: 8 run_install: false - name: Get pnpm store directory shell: bash run: echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - name: Setup pnpm cache uses: actions/cache@v4 with: path: ${{ env.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Run test tasks run: | pnpm install pnpm run lint:code --quiet pnpm run test --silent pnpm run build pnpm run semantic-release --dry-run