name: Main continuous tests on: push: branches: - main - v4 - feat/* - fix/* pull_request: workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: build-and-test: runs-on: ubuntu-latest name: Build and test steps: - uses: actions/checkout@v2 - name: Install node uses: actions/setup-node@v2 with: node-version: 18 - name: Install pnpm uses: pnpm/action-setup@v2.0.1 with: version: 8.6.2 - name: Get pnpm store directory id: pnpm-cache run: | echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" - name: Cache pnpm modules uses: actions/cache@v2 with: path: | ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} ~/.cache/Cypress key: pnpm-v1-${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | pnpm-v1-${{ runner.os }}- - name: Install dependencies run: pnpm install - name: Lint run: pnpm run lint - name: Build run: pnpm run build - name: Types run: pnpm run test:types - name: Unit tests run: pnpm run test:unit