chore(repo): latest powerpack and nx cloud checks, ci config cleanup #3345
This file contains 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: CI Checks | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
env: | |
NODE_VERSION: 20 | |
JAVA_VERSION: 21 | |
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_READ_WRITE_TOKEN }} | |
jobs: | |
main-linux: | |
name: Main Linux | |
runs-on: ubuntu-latest | |
env: | |
NX_CI_EXECUTION_ENV: 'linux' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: nrwl/nx-set-shas@v4 | |
with: | |
main-branch-name: 'master' | |
- run: git branch --track master origin/master | |
if: ${{ github.event_name == 'pull_request' }} | |
- name: Ensure Nx Cloud Agents are configured correctly | |
run: yarn dlx nx-cloud validate --workflow-file=./.nx/workflows/agents.yaml | |
- name: Start the Nx Cloud CI Run | |
run: | | |
yarn dlx nx-cloud start-ci-run --distribute-on="3 linux-medium-js" --with-env-vars="GIT_AUTHOR_EMAIL,GIT_AUTHOR_NAME,GIT_COMMITTER_EMAIL,GIT_COMMITTER_NAME,NX_CI_EXECUTION_ENV,NX_VERBOSE_LOGGING" | |
- uses: browser-actions/setup-chrome@v1 | |
- run: chrome --version | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
check-latest: true | |
cache: yarn | |
- name: Install NPM dependencies | |
run: yarn install --immutable | |
- name: Gradle Wrapper Validation | |
uses: gradle/actions/wrapper-validation@v3 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: zulu | |
java-version: ${{ env.JAVA_VERSION }} | |
cache: gradle | |
# We intentionally put the gradle tasks first because their artifacts are needed for project graph construction | |
# and we do not want to give the false impression that the artifact download time is part of nx commands. | |
- name: Gradle artifacts and formatting | |
run: | | |
yarn nx-cloud record -- ./gradlew projectReportAll | |
yarn nx-cloud record -- ./gradlew ktfmtCheck | |
- name: Check formatting of other files | |
run: yarn nx format:check --verbose --skip-nx-cache | |
- name: Ensure the workspace configuration is in sync | |
run: yarn nx-cloud record -- yarn nx sync:check | |
- name: Run Nx Cloud conformance checks | |
run: yarn nx-cloud record -- yarn nx-cloud conformance:check | |
- run: yarn nx affected --targets=lint,test,build,e2e-ci --configuration=ci --exclude=nx-console --parallel=3 | |
timeout-minutes: 45 | |
main-windows: | |
name: Main Windows | |
runs-on: windows-latest | |
env: | |
GIT_AUTHOR_EMAIL: test@test.com | |
GIT_AUTHOR_NAME: Test | |
GIT_COMMITTER_EMAIL: test@test.com | |
GIT_COMMITTER_NAME: Test | |
NX_CI_EXECUTION_ENV: 'windows' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: nrwl/nx-set-shas@v4 | |
with: | |
main-branch-name: 'master' | |
- run: git branch --track master origin/master | |
if: ${{ github.event_name == 'pull_request' }} | |
- name: Start the Nx Cloud CI Run | |
run: | | |
yarn dlx nx-cloud start-ci-run --distribute-on="3 windows-medium-js" --with-env-vars="GIT_AUTHOR_EMAIL,GIT_AUTHOR_NAME,GIT_COMMITTER_EMAIL,GIT_COMMITTER_NAME,NX_CI_EXECUTION_ENV" | |
- uses: browser-actions/setup-chrome@v1 | |
- name: Use Node.js ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
check-latest: true | |
cache: yarn | |
- name: Install NPM dependencies | |
run: yarn install --immutable | |
- name: Gradle Wrapper Validation | |
uses: gradle/actions/wrapper-validation@v3 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: zulu | |
java-version: ${{ env.JAVA_VERSION }} | |
cache: gradle | |
# There's no need to check formatting & linting again on windows, sometimes there's a timing issue with intellij:build so run it up front | |
- run: yarn nx affected --targets="build,test,e2e-ci" --configuration=ci --exclude=nx-console --parallel=3 | |
timeout-minutes: 45 |