diff --git a/.nx/workflows/agents.yaml b/.nx/workflows/agents.yaml index 6967d2e5bf5941..897237887f7179 100644 --- a/.nx/workflows/agents.yaml +++ b/.nx/workflows/agents.yaml @@ -1,184 +1,76 @@ +common-env-vars: &common-env-vars + GIT_AUTHOR_EMAIL: test@test.com + GIT_AUTHOR_NAME: Test + GIT_COMMITTER_EMAIL: test@test.com + GIT_COMMITTER_NAME: Test + SELECTED_PM: 'pnpm' + NX_NATIVE_LOGGING: 'nx::native::db' + # These are need for build and link validation for next.js and astro apps + NEXT_PUBLIC_ASTRO_URL: 'https://master--nx-docs.netlify.app' + NX_DEV_URL: 'https://canary.nx.dev' + +common-init-steps: &common-init-steps + - name: Checkout + uses: 'nrwl/nx-cloud-workflows/v5/workflow-steps/checkout/main.yaml' + + - name: Cache restore + uses: 'nrwl/nx-cloud-workflows/v5/workflow-steps/cache/main.yaml' + inputs: + key: 'pnpm-lock.yaml' + paths: .pnpm-store + base-branch: 'master' + + # reads mise.toml and installs toolchains needed for repo + - name: Setup toolchains + uses: 'nrwl/nx-cloud-workflows/v5/workflow-steps/install-mise/main.yaml' + + - name: Verify toolchain versions + script: | + echo "mise: $(mise --version)" + echo "node: $(node --version)" + echo "pnpm: $(pnpm --version)" + echo "bun: $(bun --version)" + echo "rust: $(rustc --version) - $(cargo --version)" + echo "dotnet: $(dotnet --version)" + echo "java: $(javac --version)" + + - name: Install system deps + script: | + sudo apt-get update + sudo apt-get install -y ca-certificates lsof libvips-dev libglib2.0-dev libgirepository1.0-dev zip unzip + + - name: Pnpm Install from lockfile + script: | + pnpm install --frozen-lockfile + + - name: Install browsers + script: | + pnpm exec cypress install + pnpm exec playwright install --with-deps + + - name: Install rust deps + script: | + cargo fetch + + - name: Setup gradle + script: | + ./gradlew wrapper + ./gradlew --version + + - name: Configure git metadata (needed for lerna smoke tests) + script: | + git config --global user.email test@test.com + git config --global user.name "Test Test" + launch-templates: linux-large: resource-class: 'docker_linux_amd64/large' image: 'us-east1-docker.pkg.dev/nxcloudoperations/nx-cloud/nx-agents-base-images:ubuntu22.04-node20.19-v1' - env: - GIT_AUTHOR_EMAIL: test@test.com - GIT_AUTHOR_NAME: Test - GIT_COMMITTER_EMAIL: test@test.com - GIT_COMMITTER_NAME: Test - SELECTED_PM: 'pnpm' - NX_NATIVE_LOGGING: 'nx::native::db' - # These are need for build and link validation for next.js and astro apps - NEXT_PUBLIC_ASTRO_URL: 'https://master--nx-docs.netlify.app' - NX_DEV_URL: 'https://canary.nx.dev' - init-steps: - - name: Checkout - uses: 'nrwl/nx-cloud-workflows/v5/workflow-steps/checkout/main.yaml' - - - name: Check Node Version - script: node --version - - - name: Cache restore - uses: 'nrwl/nx-cloud-workflows/v5/workflow-steps/cache/main.yaml' - inputs: - key: 'pnpm-lock.yaml' - paths: .pnpm-store - base-branch: 'master' - - - name: Install zip and unzip - script: sudo apt-get -yqq install zip unzip - - - name: Install bun - script: | - curl -fsSL https://bun.sh/install | bash - echo "BUN_INSTALL=$HOME/.bun" >> $NX_CLOUD_ENV - echo "PATH=$HOME/.bun/bin:$PATH" >> $NX_CLOUD_ENV - - - name: Check bun - script: | - bun --version - - - name: Install e2e deps - script: | - sudo apt-get update - sudo apt-get install -y ca-certificates lsof libvips-dev libglib2.0-dev libgirepository1.0-dev - - - name: Pnpm Install from lockfile - script: | - pnpm install --frozen-lockfile - - - name: Install Browsers - script: | - pnpm exec cypress install - pnpm exec playwright install --with-deps - - - name: Install Rust - script: | - curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh -s -- -y - source "$HOME/.cargo/env" - rustup toolchain install 1.70.0 - - - name: Configure git metadata (needed for lerna smoke tests) - script: | - git config --global user.email test@test.com - git config --global user.name "Test Test" - - - name: Load Cargo Env - script: echo "PATH=$HOME/.cargo/bin:$PATH" >> $NX_CLOUD_ENV - - - name: Install Rust Dependencies - script: | - cargo fetch - - - name: Setup Java 21 - script: | - sudo apt update - sudo apt install -y openjdk-21-jdk - sudo update-alternatives --set java /usr/lib/jvm/java-21-openjdk-amd64/bin/java - java -version - - - name: Setup Gradle - script: | - ./gradlew wrapper - ./gradlew --version - - - name: Setup .NET 9 - script: | - wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb - sudo dpkg -i packages-microsoft-prod.deb - sudo apt-get update - sudo apt-get install -y dotnet-sdk-9.0 - dotnet --version + env: *common-env-vars + init-steps: *common-init-steps linux-extra-large: resource-class: 'docker_linux_amd64/extra_large' image: 'us-east1-docker.pkg.dev/nxcloudoperations/nx-cloud/nx-agents-base-images:ubuntu22.04-node20.19-v1' - env: - GIT_AUTHOR_EMAIL: test@test.com - GIT_AUTHOR_NAME: Test - GIT_COMMITTER_EMAIL: test@test.com - GIT_COMMITTER_NAME: Test - SELECTED_PM: 'pnpm' - NX_NATIVE_LOGGING: 'nx::native::db' - # These are need for build and link validation for next.js and astro apps - NEXT_PUBLIC_ASTRO_URL: 'https://master--nx-docs.netlify.app' - NX_DEV_URL: 'https://canary.nx.dev' - init-steps: - - name: Checkout - uses: 'nrwl/nx-cloud-workflows/v5/workflow-steps/checkout/main.yaml' - - - name: Check Node Version - script: node --version - - - name: Cache restore - uses: 'nrwl/nx-cloud-workflows/v5/workflow-steps/cache/main.yaml' - inputs: - key: 'pnpm-lock.yaml' - paths: .pnpm-store - base-branch: 'master' - - - name: Install zip and unzip - script: sudo apt-get -yqq install zip unzip - - - name: Install bun - script: | - curl -fsSL https://bun.sh/install | bash - echo "BUN_INSTALL=$HOME/.bun" >> $NX_CLOUD_ENV - echo "PATH=$HOME/.bun/bin:$PATH" >> $NX_CLOUD_ENV - - - name: Check bun - script: | - bun --version - - - name: Install e2e deps - script: | - sudo apt-get update - sudo apt-get install -y ca-certificates lsof libvips-dev libglib2.0-dev libgirepository1.0-dev - - - name: Pnpm Install from lockfile - script: | - pnpm install --frozen-lockfile - - - name: Install Browsers - script: | - pnpm exec cypress install - pnpm exec playwright install --with-deps - - - name: Install Rust - script: | - curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh -s -- -y - source "$HOME/.cargo/env" - rustup toolchain install 1.70.0 - - - name: Configure git metadata (needed for lerna smoke tests) - script: | - git config --global user.email test@test.com - git config --global user.name "Test Test" - - - name: Load Cargo Env - script: echo "PATH=$HOME/.cargo/bin:$PATH" >> $NX_CLOUD_ENV - - - name: Install Rust Dependencies - script: | - cargo fetch - - - name: Setup Java 21 - script: | - sudo apt update - sudo apt install -y openjdk-21-jdk - sudo update-alternatives --set java /usr/lib/jvm/java-21-openjdk-amd64/bin/java - java -version - - - name: Setup Gradle - script: | - ./gradlew wrapper - ./gradlew --version - - - name: Setup .NET 9 - script: | - wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb - sudo dpkg -i packages-microsoft-prod.deb - sudo apt-get update - sudo apt-get install -y dotnet-sdk-9.0 - dotnet --version + env: *common-env-vars + init-steps: *common-init-steps diff --git a/CODEOWNERS b/CODEOWNERS index bdf67d9a0a6499..73f34e5800f79d 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -152,6 +152,7 @@ rust-toolchain.toml @nrwl/nx-native-reviewers # CI /.nx/workflows/** @nrwl/nx-pipelines-reviewers +mise.toml @nrwl/nx-pipelines-reviewers @FrozenPandaz /.github/** @nrwl/nx-pipelines-reviewers /.husky/** @nrwl/nx-pipelines-reviewers /packages/workspace/src/generators/ci-workflow/** @nrwl/nx-pipelines-reviewers diff --git a/mise.toml b/mise.toml index 4fdb67028d7f80..16321f39258490 100644 --- a/mise.toml +++ b/mise.toml @@ -1,5 +1,6 @@ [tools] dotnet = "9" java = "24" -node = "24" +node = "20" rust = "1.90.0" +bun = "1.3"