Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 13 commits into from
Nov 25, 2024
99 changes: 99 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# ------------------------------------------------------------------------------------------------------------
# DO NOT EDIT - This file was generated by @nx/powerpack-owners, update your Nx owners config and run `nx sync`
# ------------------------------------------------------------------------------------------------------------

/libs/language-server/capabilities/code-completion/ @MaxKless

/libs/language-server/capabilities/document-links/ @MaxKless

/libs/language-server/capabilities/definition/ @MaxKless

/libs/language-server/capabilities/hover/ @MaxKless

/libs/vscode/nx-cloud-onboarding-webview/ @MaxKless

/libs/vscode/nx-help-and-feedback-view/ @MaxKless

/libs/vscode/nx-config-decoration/ @MaxKless

/libs/vscode/generate-ui-webview/ @MaxKless

/libs/language-server/workspace/ @MaxKless

/libs/shared/nx-console-plugins/ @MaxKless

/libs/shared/generate-ui-types/ @MaxKless

/libs/vscode/error-diagnostics/ @MaxKless

/libs/vscode/nx-cli-quickpicks/ @MaxKless

/libs/vscode/typescript-plugin/ @MaxKless

/libs/language-server/watcher/ @MaxKless

/libs/vscode/nx-commands-view/ @MaxKless

/libs/vscode/output-channels/ @MaxKless

/libs/vscode/nx-project-view/ @MaxKless

/libs/vscode/project-details/ @MaxKless

/libs/language-server/types/ @MaxKless

/libs/language-server/utils/ @MaxKless

/libs/vscode/add-dependency/ @MaxKless

/libs/vscode/configuration/ @MaxKless

/libs/vscode/nx-cloud-view/ @MaxKless

/libs/vscode/nx-conversion/ @MaxKless

/libs/vscode/project-graph/ @MaxKless

/libs/vscode/nx-workspace/ @MaxKless

/apps/generate-ui-v2-e2e/ @MaxKless

/libs/shared/file-system/ @MaxKless

/libs/shared/json-schema/ @MaxKless

/libs/shared/nx-version/ @MaxKless

/libs/vscode/graph-base/ @MaxKless

/libs/vscode/lsp-client/ @MaxKless

/libs/vscode/telemetry/ @MaxKless

/apps/generate-ui-v2/ @MaxKless

/libs/vscode/nvm-tip/ @MaxKless

/libs/shared/schema/ @MaxKless

/libs/vscode/verify/ @MaxKless

/libs/shared/types/ @MaxKless

/libs/shared/utils/ @MaxKless

/libs/vscode/tasks/ @MaxKless

/libs/vscode/utils/ @MaxKless

/libs/shared/npm/ @MaxKless

/apps/intellij/ @MaxKless

/apps/nxls-e2e/ @MaxKless

/apps/vscode/ @MaxKless

/apps/nxls/ @MaxKless

/./ @MaxKless
94 changes: 64 additions & 30 deletions .github/workflows/ci_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ on:
pull_request:

env:
node_version: 20
NODE_VERSION: 20
JAVA_VERSION: 21
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_READ_WRITE_TOKEN }}

jobs:
Expand All @@ -19,40 +20,62 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: nrwl/nx-set-shas@v3

- uses: nrwl/nx-set-shas@v4
with:
main-branch-name: 'master'

- run: git branch --track master origin/master
if: ${{ github.event_name == 'pull_request' }}
- run: npx nx-cloud validate --workflow-file=./.nx/workflows/agents.yaml
- run: |
npx 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"

- 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@v2

- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.node_version }}
node-version: ${{ env.NODE_VERSION }}
check-latest: true
cache: yarn
- run: yarn install --immutable

- name: Install NPM dependencies
run: yarn install --immutable

- name: Gradle Wrapper Validation
uses: gradle/wrapper-validation-action@v3
uses: gradle/actions/wrapper-validation@v3

- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: 21
java-version: ${{ env.JAVA_VERSION }}
cache: gradle
- name: Workspace Lint

# 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: |
npx nx-cloud record -- ./gradlew projectReportAll
npx nx-cloud record -- npx nx show projects --verbose
npx nx-cloud record -- npx nx format:check --verbose --skip-nx-cache
npx nx-cloud record -- ./gradlew ktfmtCheck
env:
NX_CLOUD_DISTRIBUTED_EXECUTION: false
- run: npx nx affected --targets=lint,test,build,e2e-ci --configuration=ci --exclude=nx-console --parallel=3
yarn nx-cloud record -- ./gradlew projectReportAll
yarn nx-cloud record -- ./gradlew ktfmtCheck

- name: Check formatting of other files
run: yarn nx format:check --verbose

- 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:
Expand All @@ -68,29 +91,40 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: nrwl/nx-set-shas@v3

- uses: nrwl/nx-set-shas@v4
with:
main-branch-name: 'master'

- run: git branch --track master origin/master
if: ${{ github.event_name == 'pull_request' }}
- run: |
npx 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"

- 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@v2

- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.node_version }}
node-version: ${{ env.NODE_VERSION }}
check-latest: true
cache: yarn
- run: yarn install --immutable

- name: Install NPM dependencies
run: yarn install --immutable

- name: Gradle Wrapper Validation
uses: gradle/wrapper-validation-action@v3
uses: gradle/actions/wrapper-validation@v3

- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: 21
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: npx nx affected --targets="build,test,e2e-ci" --configuration=ci --exclude=nx-console --parallel=3

# 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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -71,5 +71,6 @@ apps/vscode-e2e/.screenshots

.nx/cache
.nx/workspace-data
.nx/powerpack
**/cypress/downloads
migrations.json
23 changes: 22 additions & 1 deletion nx.json
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,29 @@
"buildTargetName": "build"
}
},
"@nx/powerpack-enterprise-cloud"
"@nx/powerpack-enterprise-cloud",
"@nx/powerpack-owners"
],
"sync": {
"globalGenerators": ["@nx/powerpack-owners:sync-codeowners-file"]
},
"owners": {
"format": "github",
"patterns": [
{
"projects": ["*"],
"owners": ["@MaxKless"]
}
]
},
"conformance": {
"rules": [
{
"rule": "@nx/powerpack-conformance/ensure-owners",
"status": "enforced"
}
]
},
"defaultBase": "master",
"nxCloudAccessToken": "OGQ4ZGI1ZmMtMmFkMy00NGM1LThlMDMtZjFlNGZiMWRmZTQ1fHJlYWQ=",
"nxCloudUrl": "https://staging.nx.app"
Expand Down
32 changes: 17 additions & 15 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,20 +52,22 @@
"devDependencies": {
"@babel/core": "7.21.0",
"@chromatic-com/storybook": "^1",
"@nx/cypress": "20.1.1",
"@nx/devkit": "20.1.1",
"@nx/esbuild": "20.1.1",
"@nx/eslint": "20.1.1",
"@nx/eslint-plugin": "20.1.1",
"@nx/gradle": "20.1.1",
"@nx/jest": "20.1.1",
"@nx/js": "20.1.1",
"@nx/node": "20.1.1",
"@nx/powerpack-enterprise-cloud": "1.0.9",
"@nx/storybook": "20.1.1",
"@nx/web": "20.1.1",
"@nx/webpack": "20.1.1",
"@nx/workspace": "20.1.1",
"@nx/cypress": "20.1.3",
"@nx/devkit": "20.1.3",
"@nx/esbuild": "20.1.3",
"@nx/eslint": "20.1.3",
"@nx/eslint-plugin": "20.1.3",
"@nx/gradle": "20.1.3",
"@nx/jest": "20.1.3",
"@nx/js": "20.1.3",
"@nx/node": "20.1.3",
"@nx/powerpack-conformance": "1.1.0-beta.5",
"@nx/powerpack-enterprise-cloud": "1.1.0-beta.5",
"@nx/powerpack-owners": "1.1.0-beta.5",
"@nx/storybook": "20.1.3",
"@nx/web": "20.1.3",
"@nx/webpack": "20.1.3",
"@nx/workspace": "20.1.3",
"@schematics/angular": "18.1.0",
"@storybook/addon-essentials": "^8.3.1",
"@storybook/addon-knobs": "^8.0.1",
Expand Down Expand Up @@ -115,7 +117,7 @@
"jest-preset-angular": "14.1.1",
"memfs": "^3.4.7",
"mocha": "^10.0.0",
"nx": "20.1.1",
"nx": "20.1.3",
"ovsx": "^0.7.1",
"prettier": "2.7.1",
"prettier-plugin-tailwindcss": "^0.3.0",
Expand Down
Loading
Loading