name: ci on: push: branches: - main pull_request: permissions: contents: read concurrency: group: ci-${{ github.ref }} cancel-in-progress: true jobs: build: runs-on: ubuntu-24.04-arm steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - uses: pnpm/action-setup@91ab88e2619ed1f46221f0ba42d1492c02baf788 # v6.0.6 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 22 - name: find pnpm cache path id: cache run: echo "path=$(pnpm store path)" >> "$GITHUB_OUTPUT" - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: ${{ steps.cache.outputs.path }} key: v1-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | v1-pnpm- - name: Install dependencies run: pnpm install --frozen-lockfile - run: node --run build lint: runs-on: ubuntu-24.04-arm steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - uses: pnpm/action-setup@91ab88e2619ed1f46221f0ba42d1492c02baf788 # v6.0.6 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 22 - name: find pnpm cache path id: cache run: echo "path=$(pnpm store path)" >> "$GITHUB_OUTPUT" - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: ${{ steps.cache.outputs.path }} key: v1-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | v1-pnpm- - name: Install dependencies run: pnpm install --frozen-lockfile - run: node --run build - run: node --run lint typecheck: runs-on: ubuntu-24.04-arm steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - uses: pnpm/action-setup@91ab88e2619ed1f46221f0ba42d1492c02baf788 # v6.0.6 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 22 - name: find pnpm cache path id: cache run: echo "path=$(pnpm store path)" >> "$GITHUB_OUTPUT" - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: ${{ steps.cache.outputs.path }} key: v1-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | v1-pnpm- - name: Install dependencies run: pnpm install --frozen-lockfile - run: node --run build - run: node --run typecheck test: runs-on: ubuntu-24.04-arm steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: persist-credentials: false - uses: pnpm/action-setup@91ab88e2619ed1f46221f0ba42d1492c02baf788 # v6.0.6 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 22 - name: find pnpm cache path id: cache run: echo "path=$(pnpm store path)" >> "$GITHUB_OUTPUT" - uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: ${{ steps.cache.outputs.path }} key: v1-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | v1-pnpm- - name: Install dependencies run: pnpm install --frozen-lockfile - run: node --run build - run: node --run test