Skip to content

chore(repo): latest powerpack and nx cloud checks, ci config cleanup #3345

chore(repo): latest powerpack and nx cloud checks, ci config cleanup

chore(repo): latest powerpack and nx cloud checks, ci config cleanup #3345

Workflow file for this run

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