Skip to content

Commit 11c1bba

Browse files
authored
Merge branch 'main' into ts-fixes-child-process
2 parents d4bd8b4 + 2ba1a0c commit 11c1bba

10 files changed

Lines changed: 69 additions & 55 deletions

File tree

.github/workflows/ci.yml

Lines changed: 12 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,21 @@ concurrency:
1515
env:
1616
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
1717
NX_CLOUD_DISTRIBUTED_EXECUTION: true
18-
# NX_BRANCH: ${{ github.event.number || github.ref_name }}
1918
NX_VERBOSE_LOGGING: false
2019

2120
jobs:
2221
main:
2322
name: Nx Cloud - Main Job
2423
runs-on: ubuntu-latest
24+
env:
25+
NX_CI_EXECUTION_ENV: "linux"
2526
steps:
2627
- uses: actions/checkout@v4
2728
with:
2829
fetch-depth: 0
2930

3031
- uses: nrwl/nx-set-shas@v4
3132

32-
- name: Set NX_RUN_GROUP
33-
shell: bash
34-
run: echo "NX_RUN_GROUP=$GITHUB_RUN_ID-$GITHUB_RUN_ATTEMPT-linux" >> $GITHUB_ENV
35-
36-
- name: Log NX_RUN_GROUP
37-
shell: bash
38-
run: echo "NX_RUN_GROUP is ${{ env.NX_RUN_GROUP }}"
39-
4033
- name: Install primary node version (see volta config in package.json) and dependencies
4134
uses: ./.github/actions/install-node-and-dependencies
4235

@@ -52,28 +45,22 @@ jobs:
5245
# e2e tests for everything except the primary task runner
5346
- run: PUBLISHED_VERSION=999.9.9-e2e.0 npx nx run-many --t e2e --parallel=1
5447

55-
- name: Stop all running agents for Nx Run Group ${{ env.NX_RUN_GROUP }}
48+
- name: Stop all running agents
5649
# It's important that we always run this step, otherwise in the case of any failures in preceding non-Nx steps, the agents will keep running and waste billable minutes
5750
if: ${{ always() }}
5851
run: npx nx-cloud stop-all-agents
5952

6053
agents:
6154
name: Nx Cloud - Agent ${{ matrix.agent }}
6255
runs-on: ubuntu-latest
56+
env:
57+
NX_CI_EXECUTION_ENV: "linux"
6358
strategy:
6459
matrix:
6560
agent: [1, 2, 3, 4]
6661
steps:
6762
- uses: actions/checkout@v4
6863

69-
- name: Set NX_RUN_GROUP
70-
shell: bash
71-
run: echo "NX_RUN_GROUP=$GITHUB_RUN_ID-$GITHUB_RUN_ATTEMPT-linux" >> $GITHUB_ENV
72-
73-
- name: Log NX_RUN_GROUP
74-
shell: bash
75-
run: echo "NX_RUN_GROUP is ${{ env.NX_RUN_GROUP }}"
76-
7764
- name: Configure git metadata
7865
run: |
7966
git config --global user.email test@example.com
@@ -86,27 +73,19 @@ jobs:
8673
run: npx nx-cloud start-agent
8774
env:
8875
NX_AGENT_NAME: ${{ matrix.agent }}
89-
NX_RUN_GROUP: ${{ env.NX_RUN_GROUP }}
9076

9177
windows-main:
9278
name: Nx Cloud - Windows Main Job
9379
runs-on: windows-latest
9480
env:
81+
NX_CI_EXECUTION_ENV: "windows"
9582
LERNA_OS_TYPE: windows
9683
# Set the temp directory to a short dir without username in it otherwise import command specs have a problem because of different paths on windows agents
9784
TEMP: C:\temp
9885
TMP: C:\temp
9986
steps:
10087
- uses: actions/checkout@v4
10188

102-
- name: Set NX_RUN_GROUP
103-
shell: bash
104-
run: echo "NX_RUN_GROUP=$GITHUB_RUN_ID-$GITHUB_RUN_ATTEMPT-windows" >> $GITHUB_ENV
105-
106-
- name: Log NX_RUN_GROUP
107-
shell: bash
108-
run: echo "NX_RUN_GROUP is ${{ env.NX_RUN_GROUP }}"
109-
11089
- name: Install primary node version (see volta config in package.json) and dependencies
11190
uses: ./.github/actions/install-node-and-dependencies
11291

@@ -128,7 +107,7 @@ jobs:
128107
wait "$pid"
129108
done
130109
131-
- name: Stop all running agents for Nx Run Group ${{ env.NX_RUN_GROUP }}
110+
- name: Stop all running agents for Nx Run Group
132111
# It's important that we always run this step, otherwise in the case of any failures in preceding non-Nx steps, the agents will keep running and waste billable minutes
133112
if: ${{ always() }}
134113
run: npx nx-cloud stop-all-agents
@@ -140,21 +119,14 @@ jobs:
140119
matrix:
141120
agent: [1, 2, 3, 4]
142121
env:
122+
NX_CI_EXECUTION_ENV: "windows"
143123
LERNA_OS_TYPE: windows
144124
# Set the temp directory to a short dir without containing username, otherwise import command specs have a problem because of different paths on windows agents
145125
TEMP: C:\temp
146126
TMP: C:\temp
147127
steps:
148128
- uses: actions/checkout@v4
149129

150-
- name: Set NX_RUN_GROUP
151-
shell: bash
152-
run: echo "NX_RUN_GROUP=$GITHUB_RUN_ID-$GITHUB_RUN_ATTEMPT-windows" >> $GITHUB_ENV
153-
154-
- name: Log NX_RUN_GROUP
155-
shell: bash
156-
run: echo "NX_RUN_GROUP is ${{ env.NX_RUN_GROUP }}"
157-
158130
- name: Configure git metadata
159131
run: |
160132
git config --global user.email test@example.com
@@ -167,13 +139,14 @@ jobs:
167139
run: npx nx-cloud start-agent
168140
env:
169141
NX_AGENT_NAME: ${{ matrix.agent }}
170-
NX_RUN_GROUP: ${{ env.NX_RUN_GROUP }}
171142

172143
# Isolated e2e tests for the task runner which become too flaky if nested through further node child processes
173144
task-runner-e2e:
174145
name: Task Runner E2E
175146
runs-on: ubuntu-latest
176147
env:
148+
# Silently disable nx cloud for task runner e2e (using NX_NO_CLOUD produces a warning log)
149+
NX_CLOUD_ACCESS_TOKEN: ""
177150
NX_CLOUD_DISTRIBUTED_EXECUTION: false
178151
steps:
179152
- uses: actions/checkout@v4
@@ -188,14 +161,10 @@ jobs:
188161
git config --global user.email test@example.com
189162
git config --global user.name "Tester McPerson"
190163
191-
- name: Install pnpm v7
192-
run: npm install -g pnpm@7
193-
shell: bash
194-
195-
- run: pnpm --version
164+
- name: Enable corepack
165+
run: corepack enable
196166
shell: bash
197167

198-
# TODO: figure out why uses: ./.github/actions/install-node-and-dependencies is causing pnpm to not be available in this job.
199168
- name: Install dependencies
200169
run: npm ci
201170
shell: bash

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,37 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
## BREAKING CHANGES
7+
8+
> After updating we strongly recommend running `lerna repair` in your project. This will migrate your `lerna.json` to the latest and greatest and remove any outdated options.
9+
10+
As this is a major release there are a few breaking changes to be aware of, which may or may not affect your lerna repos, depending on how you are using the tool.
11+
12+
- **node v16 support is dropped because it is end of life**
13+
14+
When a node version becomes end of life (EOL) it means that it does not receive any updates or maintenance whatsoever, even if critical security vulnerabilities have been uncovered.
15+
16+
We strongly encourage all folks here to keep up with the maintenance LTS version of Node at an absolute minimum:
17+
18+
https://github.com/nodejs/release#release-schedule
19+
20+
- **lerna's task runner for `lerna run` now depends on nx v17 instead of v16**
21+
22+
`lerna run` gets to benefit from all of the further performance improvements in the nx v17 task runner behind scenes.
23+
24+
- **`@lerna/child-process` is no longer a separately published package**
25+
26+
Lerna is a monorepo management tool with versioning and publishing capabilities, it is not a child process manager. There are lots of good options out there in the ecosystem to help you with managing child processes in nodejs, and it does not really make sense to treat some of lerna's implementation details around child processes as if they were a public API. The package will be officially deprecated on npm in the future. You can of course take the code and fork it and adapt it for your own purposes if you wish!
27+
28+
- **Older packages under `@lerna/` on npm have been officially marked as deprecated**
29+
30+
Under prior stewardship the lerna repo used to publish a very large (>65) number of packages. The vast majority of these should not form part of the public API of lerna and so they have no longer been published as packages since v6. We have now officially marked them as deprecated packages on the npm registry so that users get clear feedback that they are using packages which are no longer maintained (which they can of course fork and do whatever they want with). NOTE: We have not yet marked `@lerna/child-process` as deprecated so as not to create noise for lerna v7 users until they have had chance to migrate to v8.
31+
32+
### Features
33+
34+
- **version:** add --premajor-version-bump option to force patch bumps for non-breaking changes in premajor packages ([#3876](https://github.com/lerna/lerna/issues/3876)) ([3b05947](https://github.com/lerna/lerna/commit/3b059476fd62fcb09ac391878b73640cceb6b5ef))
35+
- **version:** use corepack for install when enabled ([#3877](https://github.com/lerna/lerna/issues/3877)) ([a3cb7ca](https://github.com/lerna/lerna/commit/a3cb7cad74266c74da5d005324bced500111ed1c))
36+
637
# [8.0.0-alpha.0](https://github.com/lerna/lerna/compare/v7.4.2...v8.0.0-alpha.0) (2023-11-22)
738

839
### Features

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@
1616
}
1717
},
1818
"ignoreChanges": ["**/__fixtures__/**", "**/__tests__/**", "**/*.md"],
19-
"version": "8.0.0-alpha.0"
19+
"version": "8.0.0"
2020
}

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/legacy-package-management/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
# [8.0.0](https://github.com/lerna/lerna/compare/v7.4.2...v8.0.0) (2023-11-23)
7+
8+
**Note:** Version bump only for package @lerna/legacy-package-management
9+
610
# [8.0.0-alpha.0](https://github.com/lerna/lerna/compare/v7.4.2...v8.0.0-alpha.0) (2023-11-22)
711

812
**Note:** Version bump only for package @lerna/legacy-package-management

packages/legacy-package-management/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@lerna/legacy-package-management",
3-
"version": "8.0.0-alpha.0",
3+
"version": "8.0.0",
44
"description": "Legacy package management concerns provided by lerna. Please migrate to use npm/yarn/pnpm workspaces instead.",
55
"keywords": [
66
"lerna",
@@ -92,5 +92,5 @@
9292
"exports": {
9393
".": "./dist/index.js"
9494
},
95-
"gitHead": "4f5edee2ef6c595f2393e3f37fc0d6a4f5352bf3"
95+
"gitHead": "b664840ff8eb39dfb894b7cedc5ae9e186eaa8e4"
9696
}

packages/legacy-structure/commands/create/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
# [8.0.0](https://github.com/lerna/lerna/compare/v7.4.2...v8.0.0) (2023-11-23)
7+
8+
**Note:** Version bump only for package @lerna/create
9+
610
# [8.0.0-alpha.0](https://github.com/lerna/lerna/compare/v7.4.2...v8.0.0-alpha.0) (2023-11-22)
711

812
**Note:** Version bump only for package @lerna/create

packages/legacy-structure/commands/create/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@lerna/create",
3-
"version": "8.0.0-alpha.0",
3+
"version": "8.0.0",
44
"description": "Create a new lerna-managed package",
55
"keywords": [
66
"lerna",
@@ -117,5 +117,5 @@
117117
"require": "./dist/lib/lerna-module-data.js"
118118
}
119119
},
120-
"gitHead": "4f5edee2ef6c595f2393e3f37fc0d6a4f5352bf3"
120+
"gitHead": "b664840ff8eb39dfb894b7cedc5ae9e186eaa8e4"
121121
}

packages/lerna/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
# [8.0.0](https://github.com/lerna/lerna/compare/v7.4.2...v8.0.0) (2023-11-23)
7+
8+
### Features
9+
10+
- **version:** add --premajor-version-bump option to force patch bumps for non-breaking changes in premajor packages ([#3876](https://github.com/lerna/lerna/issues/3876)) ([3b05947](https://github.com/lerna/lerna/commit/3b059476fd62fcb09ac391878b73640cceb6b5ef))
11+
612
# [8.0.0-alpha.0](https://github.com/lerna/lerna/compare/v7.4.2...v8.0.0-alpha.0) (2023-11-22)
713

814
### Features

packages/lerna/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "lerna",
3-
"version": "8.0.0-alpha.0",
3+
"version": "8.0.0",
44
"description": "Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository",
55
"keywords": [
66
"lerna",
@@ -37,7 +37,7 @@
3737
"migrations": "./migrations.json"
3838
},
3939
"dependencies": {
40-
"@lerna/create": "8.0.0-alpha.0",
40+
"@lerna/create": "8.0.0",
4141
"@npmcli/run-script": "6.0.2",
4242
"@nx/devkit": ">=17.1.2 < 18",
4343
"@octokit/plugin-enterprise-rest": "6.0.1",
@@ -124,5 +124,5 @@
124124
"./migrations/**/*": "./dist/migrations/**/*",
125125
"./utils": "./dist/utils/index.js"
126126
},
127-
"gitHead": "4f5edee2ef6c595f2393e3f37fc0d6a4f5352bf3"
127+
"gitHead": "b664840ff8eb39dfb894b7cedc5ae9e186eaa8e4"
128128
}

0 commit comments

Comments
 (0)