diff --git a/.github/workflows/monkey-ci.yml b/.github/workflows/monkey-ci.yml index 4edbb5073168..906f3ed448e2 100644 --- a/.github/workflows/monkey-ci.yml +++ b/.github/workflows/monkey-ci.yml @@ -60,7 +60,7 @@ jobs: name: prime-cache runs-on: ubuntu-latest needs: [pre-ci] - if: needs.pre-ci.outputs.should-build-be == 'true' || needs.pre-ci.outputs.should-build-fe == 'true' || needs.pre-ci.outputs.should-build-pkg == 'true' || needs.pre-ci.outputs.assets-or-styles == 'true' || contains(github.event.pull_request.labels.*.name, 'force-full-ci') + if: needs.pre-ci.outputs.should-build-be == 'true' || needs.pre-ci.outputs.should-build-fe == 'true' || needs.pre-ci.outputs.should-build-pkg == 'true' || needs.pre-ci.outputs.assets-or-styles == 'true' || contains(github.event.pull_request.labels.*.name, 'force-full-ci') || contains(github.event.pull_request.labels.*.name, 'full-check-ci') steps: - name: Sparse checkout pnpm-lock uses: actions/checkout@v4 @@ -102,6 +102,45 @@ jobs: name: Install dependencies run: CI=true pnpm install --frozen-lockfile + full-check: + name: full-check + needs: [prime-cache] + runs-on: ubuntu-latest + if: contains(github.event.pull_request.labels.*.name, 'full-check-ci') + steps: + - name: Full checkout + uses: actions/checkout@v4 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: ${{ env.NODE_VERSION }} + + - name: Setup pnpm + uses: pnpm/action-setup@v4 + with: + version: ${{ env.PNPM_VERSION }} + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - name: Cache node modules + id: cache-pnpm + uses: actions/cache@v4 + env: + cache-name: node-modules + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-${{ env.NODE_VERSION }}-build-${{ env.cache-name }}-${{ hashFiles('pnpm-lock.yaml') }} + + - name: Install dependencies + run: CI=true pnpm install --frozen-lockfile + + - name: Run full check + run: pnpm full-check + ci-be: name: ci-be needs: [pre-ci, prime-cache]