diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index f8b7bc22..819fcd7b 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -6,69 +6,8 @@ on: push: jobs: - setup: - runs-on: ubuntu-latest - outputs: - ts-files-changed: ${{ steps.parse-changed-files.outputs.ts-files-changed }} - require-spell-check: ${{ steps.parse-changed-files.outputs.require-spell-check }} - steps: - - name: Check out repository code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Parse changed files - id: parse-changed-files - run: | - echo "ts-files-changed=$((git diff --name-status ${{ github.event.before }} ${{ github.event.after }} | grep -oP '[M]{1}[^A-Za-z]*(.*)' | sed --regexp-extended 's/[AMD]\s+//g' | grep -oP '.*\.ts$') 1> /dev/null && echo true || echo false)" >> $GITHUB_OUTPUT - echo "require-spell-check=$(./_ops/continuous-integration/scripts/requires_spell_check.sh ${{ github.event.before }} ${{ github.event.after }})" >> $GITHUB_OUTPUT - - - name: Debug - run: | - echo ${{ steps.parse-changed-files.outputs.ts-files-changed }} - echo ${{ steps.parse-changed-files.outputs.require-spell-check }} - - - name: PNPM installation - # if: ${{ steps.parse-changed-files.outputs.ts-files-changed == 'true' || steps.parse-changed-files.outputs.require-spell-check == 'true' }} - uses: pnpm/action-setup@v4 - id: pnpm-install - with: - version: 9 - run_install: false - - - name: Get pnpm store directory - # if: ${{ steps.parse-changed-files.outputs.ts-files-changed == 'true' || steps.parse-changed-files.outputs.require-spell-check == 'true' }} - id: pnpm-cache - shell: bash - run: | - echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - - - name: PNPM cache configuration - # if: ${{ steps.parse-changed-files.outputs.ts-files-changed == 'true' || steps.parse-changed-files.outputs.require-spell-check == 'true' }} - uses: actions/cache@v4 - with: - path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install dependencies - # if: ${{ steps.parse-changed-files.outputs.ts-files-changed == 'true' || steps.parse-changed-files.outputs.require-spell-check == 'true' }} - run: | - pnpm install --frozen-lockfile - cd packages/mockingbird && pnpm install --frozen-lockfile && cd ../.. - - - name: Dependencies caching - # if: ${{ steps.parse-changed-files.outputs.ts-files-changed == 'true' || steps.parse-changed-files.outputs.require-spell-check == 'true' }} - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} - spell-check-global: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.require-spell-check == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -77,28 +16,20 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false + version: 10 + run_install: true - uses: actions/setup-node@v4 with: node-version: "22.x" - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} - - name: Check spelling with CSpell run: pnpm --filter ts-predicate ci:spell:check ## TS Predicate lint-ts-predicate: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -107,14 +38,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: pnpm --filter testing-ground ci:build @@ -123,9 +48,7 @@ jobs: run: pnpm --filter ts-predicate ci:lint typescript-syntax-check-ts-predicate: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -134,14 +57,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: pnpm --filter testing-ground ci:build @@ -150,9 +67,7 @@ jobs: run: pnpm --filter ts-predicate ci:ts:check test-ts-predicate: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -161,19 +76,13 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false + version: 10 + run_install: true - uses: actions/setup-node@v4 with: node-version: "22.x" - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} - - name: Building workspace dependencies run: pnpm --filter testing-ground ci:build @@ -204,14 +113,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: pnpm --filter testing-ground ci:build @@ -228,9 +131,7 @@ jobs: ## Toolbox lint-toolbox: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -239,14 +140,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: pnpm --filter ts-predicate ci:build @@ -258,9 +153,7 @@ jobs: run: pnpm --filter toolbox ci:lint typescript-syntax-check-toolbox: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -269,14 +162,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: pnpm --filter ts-predicate ci:build @@ -288,9 +175,7 @@ jobs: run: pnpm --filter toolbox ci:ts:check test-toolbox: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -299,19 +184,13 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false + version: 10 + run_install: true - uses: actions/setup-node@v4 with: node-version: "22.x" - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} - - name: Building workspace dependencies run: pnpm --filter ts-predicate ci:build @@ -345,14 +224,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: pnpm --filter ts-predicate ci:build @@ -372,9 +245,7 @@ jobs: ## AWS Signature v4 lint-aws-signature-v4: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -383,14 +254,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: pnpm --filter testing-ground ci:build @@ -399,9 +264,7 @@ jobs: run: pnpm --filter aws-signature-v4 ci:lint typescript-syntax-check-aws-signature-v4: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -410,14 +273,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: pnpm --filter testing-ground ci:build @@ -426,9 +283,7 @@ jobs: run: pnpm --filter aws-signature-v4 ci:ts:check test-aws-signature-v4: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -437,14 +292,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: pnpm --filter testing-ground ci:build @@ -476,14 +325,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: pnpm --filter testing-ground ci:build @@ -500,9 +343,7 @@ jobs: ## AWS S3 lint-aws-s3: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -511,14 +352,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: | @@ -531,9 +366,7 @@ jobs: run: pnpm --filter aws-s3 ci:lint typescript-syntax-check-aws-s3: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -542,14 +375,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: | @@ -562,9 +389,7 @@ jobs: run: pnpm --filter aws-s3 ci:ts:check test-aws-s3: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -573,14 +398,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: | @@ -616,14 +435,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: | @@ -644,9 +457,7 @@ jobs: ## AWS SQS lint-aws-sqs: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -655,14 +466,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: | @@ -676,9 +481,7 @@ jobs: run: pnpm --filter aws-sqs ci:lint typescript-syntax-check-aws-sqs: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -687,14 +490,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: | @@ -708,9 +505,7 @@ jobs: run: pnpm --filter aws-sqs ci:ts:check test-aws-sqs: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -719,14 +514,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: | @@ -763,14 +552,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: | @@ -792,9 +575,7 @@ jobs: ## Mockingbird lint-mockingbird: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -803,14 +584,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: | @@ -824,9 +599,7 @@ jobs: run: pnpm --filter mockingbird ci:lint typescript-syntax-check-mockingbird: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -835,14 +608,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: | @@ -878,14 +645,8 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 - run_install: false - - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + version: 10 + run_install: true - name: Building workspace dependencies run: | @@ -907,9 +668,7 @@ jobs: ## Architectura lint-architectura: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -918,15 +677,9 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 + version: 10 run_install: true - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} - - name: Building workspace dependencies run: | pnpm --filter testing-ground ci:build @@ -940,9 +693,7 @@ jobs: run: pnpm --filter architectura ci:lint typescript-syntax-check-architectura: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -951,15 +702,9 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 + version: 10 run_install: true - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} - - name: Building workspace dependencies run: | pnpm --filter testing-ground ci:build @@ -973,9 +718,7 @@ jobs: run: pnpm --filter architectura ci:ts:check test-architectura: - needs: setup runs-on: ubuntu-latest - # if: ${{ needs.setup.outputs.ts-files-changed == 'true' }} steps: - name: Check out repository code uses: actions/checkout@v4 @@ -984,19 +727,13 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 + version: 10 run_install: true - uses: actions/setup-node@v4 with: node-version: "22.x" - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} - - name: Building workspace dependencies run: | pnpm --filter testing-ground ci:build @@ -1033,15 +770,9 @@ jobs: uses: pnpm/action-setup@v4 id: pnpm-install with: - version: 9 + version: 10 run_install: true - - name: Dependencies cache unpacking - uses: actions/cache@v4 - with: - path: node_modules - key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} - - name: Building workspace dependencies run: | pnpm --filter testing-ground ci:build