name: Quality on: pull_request jobs: quality: name: Ensure Quality runs-on: ubuntu-latest timeout-minutes: 30 permissions: contents: "read" strategy: fail-fast: false matrix: command: - format --check - lint - test:unit - test:integration steps: - name: Checkout Repo uses: actions/checkout@v4.1.6 - name: Setup Buf uses: bufbuild/buf-setup-action@v1.45.0 - name: Setup Node.js 20.x uses: actions/setup-node@v4.0.2 with: node-version: 20.x - name: Setup pnpm uses: pnpm/action-setup@v4.0.0 - uses: pnpm/action-setup@v4.0.0 name: Install pnpm id: pnpm-install with: run_install: false - name: Get pnpm store directory id: pnpm-cache shell: bash run: | echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - uses: actions/cache@v4.0.2 name: Setup pnpm cache with: path: ${{ env.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - uses: actions/cache@v4.0.2 name: Setup Cypress binary cache with: path: ~/.cache/Cypress key: ${{ runner.os }}-cypress-binary-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-cypress-binary- if: ${{ matrix.command }} == "test:integration" - name: Install Dependencies run: pnpm install - name: Check id: check run: pnpm ${{ matrix.command }}