chore(deps): bump @nestjs/core from 10.4.22 to 11.1.18 in /e2e/esm/jest/nestjs in the npm_and_yarn group across 1 directory #556
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: E2E Tests | |
| env: | |
| CI: true | |
| on: | |
| pull_request: | |
| branches: | |
| - next | |
| - master | |
| workflow_dispatch: | |
| inputs: | |
| target_branch: | |
| description: 'E2E Target Branch' | |
| required: true | |
| type: string | |
| default: 'next' | |
| permissions: | |
| contents: write | |
| id-token: write | |
| jobs: | |
| version-preview: | |
| name: Version Preview | |
| runs-on: ubuntu-latest | |
| outputs: | |
| versions: ${{ steps.capture.outputs.versions }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| ref: ${{ github.event.pull_request.head.ref || inputs.target_branch }} | |
| fetch-depth: 0 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '22.x' | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 8.15.9 | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Config Git | |
| run: | | |
| git config --global user.email "e2e@suites.dev" | |
| git config --global user.name "Suites e2e" | |
| - name: Version Packages (Preview) | |
| run: | | |
| BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) | |
| npx lerna version --yes \ | |
| --conventional-commits \ | |
| --conventional-prerelease \ | |
| --preid e2e \ | |
| --no-changelog \ | |
| --allow-branch "$BRANCH_NAME" \ | |
| --no-git-tag-version \ | |
| --no-push \ | |
| --force-publish \ | |
| --no-commit-hooks | |
| - name: Capture Versions | |
| id: capture | |
| run: | | |
| echo "## 📦 E2E Version Preview" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "These versions will be tested in the e2e workflow:" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| lerna ls --json | jq -r '.[] | "- **\(.name)** → `v\(.version)`"' >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### 🧪 Testing Matrix" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Projects**: 6 (jest/nestjs, sinon/nestjs, vitest/nestjs, jest/inversify, sinon/inversify, vitest/inversify)" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Node versions**: 3 (20.x, 22.x, 24.x)" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Total jobs**: 18 (54 with matrix expansion)" >> $GITHUB_STEP_SUMMARY | |
| # Save versions for artifacts | |
| lerna ls --json > versions.json | |
| - name: Upload Version Info | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: version-preview | |
| path: versions.json | |
| e2e: | |
| name: E2E (${{ matrix.e2e-project }}, Node ${{ matrix.node-version }}) | |
| needs: [version-preview] | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| e2e-project: | |
| [ | |
| # NestJS | |
| 'jest/nestjs', | |
| 'vitest/nestjs', | |
| 'sinon/nestjs', | |
| 'esm/jest/nestjs', | |
| 'esm/vitest/nestjs', | |
| # Inversify | |
| 'jest/inversify', | |
| 'vitest/inversify', | |
| 'sinon/inversify', | |
| ] | |
| node-version: [18.x, 20.x, 22.x, 24.x] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| with: | |
| ref: ${{ github.event.pull_request.head.ref || inputs.target_branch }} | |
| - name: Setup Node ${{ matrix.node-version }} | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 8.15.9 | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Run Verdaccio Docker | |
| run: | | |
| docker run -d --name verdaccio \ | |
| -p 4873:4873 \ | |
| -v ${{ github.workspace }}/e2e/config.yaml:/verdaccio/conf/config.yaml \ | |
| verdaccio/verdaccio | |
| - name: Build | |
| run: pnpm build | |
| - name: Setup Registry | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| registry-url: http://localhost:4873 | |
| scope: '@suites' | |
| always-auth: false | |
| - name: Install jq | |
| run: sudo apt-get install jq | |
| - name: Remove provenance from package.json files | |
| run: | | |
| find packages -name 'package.json' | while read filename; do | |
| jq 'del(.publishConfig.provenance)' "$filename" > temp.json && mv temp.json "$filename" | |
| done | |
| - name: Config Git | |
| run: | | |
| git config --global user.email "e2e@suites.dev" | |
| git config --global user.name "Suites e2e" | |
| - name: Commit Provenance Change | |
| run: | | |
| git add . | |
| git commit -am "remove provenance" | |
| - name: Version Packages | |
| run: | | |
| BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) | |
| npx lerna version --yes \ | |
| --conventional-commits \ | |
| --conventional-prerelease \ | |
| --preid e2e \ | |
| --no-changelog \ | |
| --allow-branch "$BRANCH_NAME" \ | |
| --no-git-tag-version \ | |
| --no-push \ | |
| --force-publish \ | |
| --no-commit-hooks | |
| - name: Commit Packages Versions | |
| run: | | |
| git add . | |
| git commit -am "bump versions" | |
| - name: Publish Packages to Verdaccio | |
| run: | | |
| pnpm lerna publish from-package --yes \ | |
| --no-git-tag-version \ | |
| --no-push \ | |
| --no-git-reset \ | |
| --exact \ | |
| --dist-tag e2e | |
| - name: Parse E2E Project | |
| run: | | |
| project="${{ matrix.e2e-project }}" | |
| if [[ "$project" == esm/* ]]; then | |
| IFS='/' read -r _ library framework <<< "$project" | |
| echo "FRAMEWORK=$framework" >> $GITHUB_ENV | |
| echo "LIBRARY=esm/$library" >> $GITHUB_ENV | |
| else | |
| IFS='/' read -r library framework <<< "$project" | |
| echo "FRAMEWORK=$framework" >> $GITHUB_ENV | |
| echo "LIBRARY=$library" >> $GITHUB_ENV | |
| fi | |
| - name: Clean Source | |
| run: | | |
| rm -rf packages | |
| rm -rf node_modules | |
| rm pnpm-lock.yaml | |
| rm package.json | |
| rm -f .npmrc | |
| - name: Install Dependencies from Verdaccio | |
| run: | | |
| cd "$PWD/e2e/$LIBRARY/$FRAMEWORK" | |
| npm install --force --no-package-lock | |
| npm install --dev --no-package-lock @types/node@${{ matrix.node-version }} | |
| - name: Execute Test | |
| run: | | |
| cd "$PWD/e2e/$LIBRARY/$FRAMEWORK" | |
| npm test |