chore(repo): make publishing depend on build targets (#27080)

<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->

<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->

<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->

## Current Behavior
<!-- This is the behavior we have today -->

Populating the local registry for e2e tests is not dependent on the
builds but runs them. It sometimes gets cache misses for some builds
thus making that inconsistent.


https://staging.nx.app/runs/FxIwbj6UQo/task/%40nx%2Fnx-source%3Apopulate-local-registry-storage

## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->

Populating the local registry for e2e tests is dependent on the builds
and does not run them within itself. In the CI pipeline, this ensures
that the build tasks are run first.


https://staging.nx.app/runs/NUrFeUBbQk/task/%40nx%2Fnx-source%3Apopulate-local-registry-storage

## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->

Fixes #
This commit is contained in:
Jason Jean 2024-07-24 14:46:09 -05:00 committed by GitHub
parent def20f29ca
commit bb92857b21
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 22 additions and 23 deletions

View File

@ -1,5 +1,6 @@
{ {
"name": "@nx/nx-dev/util-ai", "name": "@nx/nx-dev/util-ai",
"private": true,
"version": "0.0.1", "version": "0.0.1",
"dependencies": { "dependencies": {
"@supabase/supabase-js": "^2.26.0", "@supabase/supabase-js": "^2.26.0",

10
nx.json
View File

@ -139,18 +139,12 @@
"e2e-ci--**/*": { "e2e-ci--**/*": {
"inputs": ["e2eInputs", "^production"], "inputs": ["e2eInputs", "^production"],
"parallelism": false, "parallelism": false,
"dependsOn": [ "dependsOn": ["@nx/nx-source:populate-local-registry-storage"]
"nx:build-native",
"@nx/nx-source:populate-local-registry-storage"
]
}, },
"e2e-macos-ci--**/*": { "e2e-macos-ci--**/*": {
"inputs": ["e2eInputs", "^production"], "inputs": ["e2eInputs", "^production"],
"parallelism": false, "parallelism": false,
"dependsOn": [ "dependsOn": ["@nx/nx-source:populate-local-registry-storage"]
"nx:build-native",
"@nx/nx-source:populate-local-registry-storage"
]
}, },
"e2e-base": { "e2e-base": {
"inputs": ["default", "^production"] "inputs": ["default", "^production"]

View File

@ -4,7 +4,7 @@
"homepage": "https://nx.dev", "homepage": "https://nx.dev",
"private": true, "private": true,
"scripts": { "scripts": {
"build": "nx run-many --target build --parallel 8 --exclude nx-dev,typedoc-theme,tools-documentation-create-embeddings", "build": "nx run-many --target build --parallel 8 --exclude nx-dev,typedoc-theme,tools-documentation-create-embeddings,nx-dev-util-ai",
"commit": "czg", "commit": "czg",
"check-commit": "node ./scripts/commit-lint.js", "check-commit": "node ./scripts/commit-lint.js",
"check-format": "nx format:check --all", "check-format": "nx format:check --all",
@ -12,7 +12,7 @@
"check-lock-files": "node ./scripts/check-lock-files.js", "check-lock-files": "node ./scripts/check-lock-files.js",
"check-documentation-map": "ts-node -P ./scripts/tsconfig.scripts.json ./scripts/documentation/map-link-checker.ts", "check-documentation-map": "ts-node -P ./scripts/tsconfig.scripts.json ./scripts/documentation/map-link-checker.ts",
"check-codeowners": "ts-node -P ./scripts/tsconfig.scripts.json ./scripts/check-codeowners.ts", "check-codeowners": "ts-node -P ./scripts/tsconfig.scripts.json ./scripts/check-codeowners.ts",
"nx-release": "ts-node -P ./scripts/tsconfig.release.json ./scripts/nx-release", "nx-release": "nx nx-release @nx/nx-source --parallel 8",
"prepublishOnly": "node ./scripts/update-package-group.js", "prepublishOnly": "node ./scripts/update-package-group.js",
"local-registry": "nx local-registry @nx/nx-source", "local-registry": "nx local-registry @nx/nx-source",
"documentation": "ts-node -P scripts/tsconfig.scripts.json ./scripts/documentation/generators/main.ts && pnpm check-documentation-map", "documentation": "ts-node -P scripts/tsconfig.scripts.json ./scripts/documentation/generators/main.ts && pnpm check-documentation-map",

View File

@ -15,16 +15,26 @@
"inputs": [ "inputs": [
{ {
"input": "production", "input": "production",
"projects": [ "projects": ["tag:npm:public"]
"*", }
"!nx-dev", ],
"!typedoc-theme", "dependsOn": [
"!tools-documentation-create-embeddings" {
] "target": "build",
"projects": ["tag:npm:public"]
} }
], ],
"command": "node ./scripts/local-registry/run-populate-storage.mjs", "command": "node ./scripts/local-registry/run-populate-storage.mjs",
"outputs": ["{workspaceRoot}/build/local-registry/storage"] "outputs": ["{workspaceRoot}/build/local-registry/storage"]
},
"nx-release": {
"dependsOn": [
{
"target": "build",
"projects": ["tag:npm:public"]
}
],
"command": "ts-node -P ./scripts/tsconfig.release.json ./scripts/nx-release"
} }
} }
} }

View File

@ -31,13 +31,6 @@ const VALID_AUTHORS_FOR_LATEST = [
}); });
} }
const buildCommand = 'pnpm build';
console.log(`> ${buildCommand}`);
execSync(buildCommand, {
stdio: [0, 1, 2],
maxBuffer: LARGE_BUFFER,
});
// Ensure all the native-packages directories are available at the top level of the build directory, enabling consistent packageRoot structure // Ensure all the native-packages directories are available at the top level of the build directory, enabling consistent packageRoot structure
execSync(`pnpm nx copy-native-package-directories nx`, { execSync(`pnpm nx copy-native-package-directories nx`, {
stdio: isVerboseLogging ? [0, 1, 2] : 'ignore', stdio: isVerboseLogging ? [0, 1, 2] : 'ignore',

View File

@ -1,5 +1,6 @@
{ {
"name": "@nx/typedoc-theme", "name": "@nx/typedoc-theme",
"private": true,
"version": "0.0.1", "version": "0.0.1",
"keywords": [ "keywords": [
"typedocplugin" "typedocplugin"