[RHCLOUD-42870] Nx tool migration #442
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
| on: | |
| pull_request: | |
| branches: | |
| - master | |
| push: | |
| branches: | |
| - master | |
| jobs: | |
| github-action-show-version: | |
| if: github.event_name == 'pull_request' | |
| runs-on: ubuntu-latest | |
| name: Next version is | |
| steps: | |
| - name: Publish a version comment | |
| uses: rvsia/[email protected] | |
| id: comment | |
| with: | |
| GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
| # Job that runs for both PR and merge | |
| ci-checks: | |
| runs-on: ubuntu-latest | |
| name: CI Checks (Build, Lint, Test, Release Dry-Run) | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'yarn' | |
| - name: Install dependencies | |
| run: yarn install --frozen-lockfile | |
| - name: Derive appropriate SHAs for base and head for nx affected commands | |
| uses: nrwl/nx-set-shas@v4 | |
| with: | |
| main-branch-name: 'master' | |
| - name: Run build on affected projects | |
| run: npx nx affected --target=build --parallel=3 | |
| continue-on-error: false | |
| - name: Run lint on affected projects | |
| run: npx nx affected --target=lint --parallel=3 | |
| continue-on-error: false | |
| - name: Run typecheck on affected projects | |
| run: npx nx affected --target=typecheck --parallel=3 | |
| continue-on-error: false | |
| - name: Clear Jest cache | |
| run: yarn jest --clearCache | |
| - name: Run tests on affected projects | |
| run: npx nx affected --target=test --parallel=3 --coverage | |
| continue-on-error: false | |
| - name: Run Nx release dry-run (PR only) | |
| if: github.event_name == 'pull_request' | |
| run: npx nx release --first-release --dry-run --verbose | |
| # Job that runs ONLY after merge (on push to master) | |
| release: | |
| if: github.event_name != 'pull_request' | |
| needs: ci-checks | |
| runs-on: ubuntu-latest | |
| name: Release | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'yarn' | |
| - name: Install dependencies | |
| run: yarn install --frozen-lockfile | |
| - name: 🚀 Run Nx Release | |
| run: | | |
| npx nx release --first-release --skip-publish --verbose | |
| npx nx release --first-release publish --skip-existing --verbose | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |