Release Npm Packages Test #6
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: Release Npm Packages Test | |
| on: | |
| pull_request: | |
| branches: | |
| - master | |
| paths: | |
| - '.changeset/**' | |
| - 'packages/**' | |
| - 'package.json' | |
| - 'pnpm-lock.yaml' | |
| workflow_dispatch: | |
| jobs: | |
| validate: | |
| name: Validate Npm Package Release Flow | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| env: | |
| NPM_VERSION_PR_TITLE: 'chore: version npm packages' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| registry-url: 'https://registry.npmjs.org' | |
| - name: Install pnpm | |
| run: npm install -g pnpm@9 | |
| - name: Install Dependencies | |
| run: pnpm install --no-frozen-lockfile | |
| - name: Validate Changeset Status | |
| if: ${{ github.event_name != 'pull_request' || github.event.pull_request.title != env.NPM_VERSION_PR_TITLE }} | |
| run: pnpm run release:npm:status | |
| - name: Note Version PR Validation Mode | |
| if: ${{ github.event_name == 'pull_request' && github.event.pull_request.title == env.NPM_VERSION_PR_TITLE }} | |
| run: echo "Skipping changeset status because this PR is the maintainer-reviewed npm version PR." | |
| - name: Build Types | |
| run: pnpm --filter @tswagger/types run build | |
| - name: Build Core | |
| run: pnpm --filter @tswagger/core run build | |
| - name: Test Core | |
| run: pnpm --filter @tswagger/core run test-compile && pnpm --filter @tswagger/core run test | |
| - name: Build CLI | |
| run: pnpm --filter @tswagger/cli run build | |
| - name: Test CLI | |
| run: pnpm --filter @tswagger/cli run test | |
| - name: Pack Checks | |
| run: | | |
| pnpm --filter @tswagger/types run pack:check | |
| pnpm --filter @tswagger/core run pack:check | |
| pnpm --filter @tswagger/cli run pack:check |