Skip to content

Commit 392111e

Browse files
authored
Merge pull request #10993 from ember-cli/release-plan-6-12
Promote Beta and update all dependencies for 6.12 release
2 parents d84a1b9 + 58c88ec commit 392111e

36 files changed

Lines changed: 392 additions & 396 deletions

File tree

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ on:
99
- next
1010
- "v*"
1111
- "lts-*"
12+
paths-ignore:
13+
- "**.md"
1214
pull_request:
15+
paths-ignore:
16+
- "**.md"
1317
workflow_dispatch:
1418
merge_group:
1519
schedule:

RELEASE.md

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,17 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
4444
- make sure to not update the version in the package.json during this step, this will be release-plan's job
4545
- make sure to not update the version in the `packages/app-blueprint/package.json`, or `packages/addon-blueprint/package.json` files during this step, this will be release-plan's job
4646
- make sure to not add the `release-plan` config section to the package.json during this step. We are releasing a real release so we don't want to configure release-plan to do a pre-release.
47+
- commit the merge `git commit -am "promote beta to release"`
4748
- Update blueprint dependencies to latest. Note: ember-data needs to be updated only in the alpha version from now on, make sure to only update to the release version of what was in the beta.
4849

4950
```
5051
node ./dev/update-blueprint-dependencies.js --ember-source=latest --ember-data=<whatever version was in the beta>
5152
```
5253

54+
- run `pnpm lint:fix`
55+
- update the @ember/app-blueprint dependency `pnpm i -w @ember/app-blueprint@latest`
56+
- manually add a `~` back into the `@ember/app-blueprint` dependency in the root package.json
57+
- run `pnpm install` to make sure the lock file is up to date
5358
- commit this update `git commit -am "update blueprint dependencies to latest"`
5459
- push and open a PR targeting `release` with a PR title like `Promote Beta and update all dependencies for 6.4 release`
5560
- mark this PR as an `enhancement` if it is a minor release
@@ -59,6 +64,11 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
5964
- Merge the `Prepare Release` branch when you are ready to release
6065
- Check the `Release Stable` GitHub action to make sure the release succeeded
6166

67+
### Finish the `@ember/app-blueprint` release
68+
69+
- Update the `@ember/app-blueprint` `release` branch to use this new version of ember-cli
70+
- continue the rest of the [@ember/app-blueprint release process](https://github.com/ember-cli/ember-app-blueprint/blob/main/RELEASE.md#release-ember-cli-and-update-that-dependency) until beta and alpha are released
71+
6272
### Beta release from the `beta` branch
6373

6474
- fetch latest from origin `git fetch`
@@ -67,17 +77,20 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
6777
- **make sure to not update the .release-plan file** this should only ever be changed by the release-plan github scripts
6878
- **make sure to not update any .github/workflows/plan-beta-release.yml file** this should still plan a beta release
6979
- **make sure to not update any .github/workflows/publish-beta.yml file** this should still publish a beta release
70-
- make sure to not update the version in the package.json during this step, that step comes later
80+
- make sure to not update the version in the `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json` during this step, that step comes later
7181
- make sure to not remove the `release-plan` config section to the `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`, during this step.
82+
- commit the merge `git commit -am "merge release into beta"`
7283
- merge master into this new branch too e.g. `git merge origin/master --no-ff`
7384
- **make sure to not update the .release-plan file** this should only ever be changed by the release-plan github scripts
7485
- **make sure to not update the CHANGELOG.md file** in this step. It should match the changelog on `origin/release` at this stage.
7586
- make sure not to update the `release-plan` config in `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`
87+
- make sure not to update the `@ember-tooling/blueprint-blueprint` versions (i.e. not workspace dependencies) in `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`
88+
- make sure not to add any files from `packages/blueprint-blueprint` or `packages/blueprint-model` in this merge (those files only exist on main)
7689
- commit the merge `git commit -am "merge master into beta"`
7790
- update the versions in package.jsons
7891
- update the alpha version in package.json to be a beta i.e. if the incoming merge is `"version": "6.6.0-alpha.3",` update it to `"version": "6.6.0-beta.0",`
79-
- update the alpha version in `packages/addon-blueprint/package.json` to be a beta
80-
- update the alpha version in `packages/app-blueprint/package.json` to be a beta
92+
- update the alpha version in `packages/addon-blueprint/package.json` to be the same beta version
93+
- update the alpha version in `packages/app-blueprint/package.json` to be the same beta version
8194
- update the `ember-cli` reference in `packages/app-blueprint/files/package.json` to be the same as the version you just put in the top level package.json
8295
- commit the version changes `git commit -am "update versions"`
8396
- Update blueprint dependencies to beta
@@ -86,8 +99,10 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
8699
node ./dev/update-blueprint-dependencies.js --ember-source=beta --ember-data=<whatever version was in the alpha>
87100
```
88101

102+
- run `pnpm lint:fix`
89103
- update the @ember/app-blueprint dependency `pnpm i -w @ember/app-blueprint@beta`
90104
- manually add a `~` back into the `@ember/app-blueprint` dependency in the root package.json
105+
- run `pnpm install` to make sure the lock file is up to date
91106
- commit this update `git commit -am "update blueprint dependencies to beta"`
92107
- push and open a PR targeting `beta` with a PR title like `Prepare 6.5-beta`
93108
- mark this PR as an `enchancement` if the next beta is a minor release
@@ -104,9 +119,9 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
104119
- create a new branch to merge `beta` into `master` e.g. `git checkout --no-track -b merge-beta origin/master`
105120
- merge beta into this new branch e.g. `git merge origin/beta --no-ff`
106121
- **make sure to not update the .release-plan file** this should only ever be changed by the release-plan github scripts
107-
- make sure to not update the version in the package.json during this step, that step comes later
122+
- make sure to not update the version in the `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json` during this step, that step comes later
108123
- make sure to not update the `release-plan` config section to the `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`, during this step.
109-
- make sure not to update the `@ember-tooling/blueprint-blueprint` or `@ember-tooling/blueprint-model` away from being `workspace: *` dependencies. On master they always use the latest and don't use semver.
124+
- make sure not to update the `@ember-tooling/blueprint-blueprint` or `@ember-tooling/blueprint-model` away from being `workspace: *` dependencies in `package.json`, `packages/addon-blueprint/package.json`, or `packages/app-blueprint/package.json`. On master they always use the latest and don't use semver.
110125
- **make sure to not update any .github/workflows/plan-release.yml file** this should still plan a beta release
111126
- **make sure to not update any .github/workflows/publish.yml file** this should still publish a beta release
112127
- **make sure to not update the CHANGELOG.md file** in this step.
@@ -116,16 +131,19 @@ You can use [this saved search](https://github.com/ember-cli/ember-cli/pulls?q=i
116131
- e.g. if the current alpha is `"version": "6.6.0-alpha.3",` update it to be `"version": "6.7.0-alpha.0",`
117132
- manually update the alpha version in `packages/addon-blueprint/package.json` to be the same alpha
118133
- manually update the alpha version in `packages/app-blueprint/package.json` to be the same alpha
119-
- commit this change to the version in package.json: `git commit -am "update to the next alpha version"`
134+
- update the `ember-cli` reference in `packages/app-blueprint/files/package.json` to be the same alpha
135+
- commit this change `git commit -am "update to the next alpha version"`
120136
- Update blueprint dependencies to alpha
121137

122138
```
123139
node ./dev/update-blueprint-dependencies.js --ember-source=alpha --ember-data=<whatever version is in the package.json>
124140
```
125141

126142
- note: ember-data (aka warp-drive) should only ever be updated on master as a separate PR. It is no longer part of the release process
143+
- run `pnpm lint:fix`
127144
- update the @ember/app-blueprint dependency `pnpm i -w @ember/app-blueprint@alpha`
128145
- make sure the app-blueprint still has a `~` after the above step
146+
- run `pnpm install` to make sure the lock file is up to date
129147
- commit this update `git commit -am "update blueprint dependencies to alpha"`
130148
- push and open a PR targeting `master` with a PR title like `Prepare 6.6-alpha`
131149
- mark this PR as an `enchancement` if the next alpha is a minor release

lib/commands/test.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,14 @@ const Command = require('../models/command');
44
const Watcher = require('../models/watcher');
55
const Builder = require('../models/builder');
66
const SilentError = require('silent-error');
7+
const os = require('os');
78
const path = require('path');
89
const Win = require('../utilities/windows-admin');
910
const fs = require('fs');
10-
const temp = require('temp');
1111
const util = require('util');
1212
const PortFinder = require('portfinder');
1313
let getPort = util.promisify(PortFinder.getPort);
1414

15-
temp.track();
16-
1715
let defaultPort = 7357;
1816

1917
const ClassicOptions = [
@@ -99,7 +97,7 @@ module.exports = Command.extend({
9997
},
10098

10199
tmp() {
102-
return temp.mkdirSync('tests-dist-');
100+
return fs.mkdtempSync(path.join(os.tmpdir(), 'tests-dist-'));
103101
},
104102

105103
_generateCustomConfigs(options) {

lib/tasks/install-blueprint.js

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
const fs = require('fs-extra');
44
const Blueprint = require('../models/blueprint');
55
const Task = require('../models/task');
6-
const util = require('util');
7-
const temp = require('temp');
6+
const os = require('os');
87
const path = require('path');
98
const merge = require('lodash/merge');
109
const { execa } = require('execa');
@@ -17,11 +16,6 @@ const { isExperimentEnabled } = require('@ember-tooling/blueprint-model/utilitie
1716

1817
const NOT_FOUND_REGEXP = /npm ERR! 404 {2}'(\S+)' is not in the npm registry/;
1918

20-
// Automatically track and cleanup temp files at exit
21-
temp.track();
22-
23-
let mkdirTemp = util.promisify(temp.mkdir);
24-
2519
class InstallBlueprintTask extends Task {
2620
async run(options) {
2721
let cwd = process.cwd();
@@ -115,7 +109,7 @@ class InstallBlueprintTask extends Task {
115109
}
116110

117111
_createTempFolder() {
118-
return mkdirTemp('ember-cli');
112+
return fs.mkdtemp(path.join(os.tmpdir(), 'ember-cli-'));
119113
}
120114

121115
_resolvePackageJSON(directoryPath) {

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
"@ember-tooling/blueprint-model": "^0.5.0",
4848
"@ember-tooling/classic-build-addon-blueprint": "workspace:*",
4949
"@ember-tooling/classic-build-app-blueprint": "workspace:*",
50-
"@ember/app-blueprint": "~6.11.0",
50+
"@ember/app-blueprint": "~6.12.0",
5151
"@pnpm/find-workspace-dir": "^1000.1.3",
5252
"babel-remove-types": "^1.0.2",
5353
"broccoli": "^4.0.0",
@@ -120,7 +120,6 @@
120120
"silent-error": "^1.1.1",
121121
"sort-package-json": "^3.6.0",
122122
"symlink-or-copy": "^1.3.1",
123-
"temp": "0.9.4",
124123
"testem": "^3.17.0",
125124
"tiny-lr": "^2.0.0",
126125
"tree-sync": "^2.1.0",

packages/addon-blueprint/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ module.exports = {
244244
embroider: false,
245245
lang: options.lang,
246246
emberData: options.emberData,
247+
warpDrive: options.warpDrive ?? options.emberData ?? false,
247248
ciProvider: options.ciProvider,
248249
typescript: options.typescript,
249250
strict: options.strict,

packages/addon-blueprint/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
"chalk": "^5.6.2",
1616
"ember-cli-normalize-entity-name": "^1.0.0",
1717
"ember-cli-string-utils": "^1.1.0",
18-
"fs-extra": "^11.3.0",
19-
"lodash": "^4.17.21",
18+
"fs-extra": "^11.3.3",
19+
"lodash": "^4.17.23",
2020
"silent-error": "^1.1.1",
21-
"sort-package-json": "^2.12.0",
21+
"sort-package-json": "^2.15.1",
2222
"walk-sync": "^3.0.0"
2323
}
2424
}

packages/app-blueprint/files/_js_eslint.config.mjs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
import globals from 'globals';
1616
import js from '@eslint/js';
1717

18-
import ember from 'eslint-plugin-ember/recommended';
18+
import ember from 'eslint-plugin-ember/recommended';<% if (warpDrive) { %>
19+
import WarpDrive from 'eslint-plugin-warp-drive/recommended';<% } %>
1920
import eslintConfigPrettier from 'eslint-config-prettier';
2021
import qunit from 'eslint-plugin-qunit';
2122
import n from 'eslint-plugin-n';
@@ -38,7 +39,8 @@ export default [
3839
eslintConfigPrettier,
3940
ember.configs.base,
4041
ember.configs.gjs,
41-
/**
42+
<% if (warpDrive) { %>...WarpDrive,
43+
<% } %>/**
4244
* Ignores must be in their own object
4345
* https://eslint.org/docs/latest/use/configure/ignore
4446
*/

packages/app-blueprint/files/_ts_eslint.config.mjs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ import js from '@eslint/js';
1919

2020
import ts from 'typescript-eslint';
2121

22-
import ember from 'eslint-plugin-ember/recommended';
22+
import ember from 'eslint-plugin-ember/recommended';<% if (warpDrive) { %>
23+
import WarpDrive from 'eslint-plugin-warp-drive/recommended';<% } %>
2324

2425
import eslintConfigPrettier from 'eslint-config-prettier';
2526
import qunit from 'eslint-plugin-qunit';
@@ -54,7 +55,8 @@ export default ts.config(
5455
ember.configs.base,
5556
ember.configs.gjs,
5657
ember.configs.gts,
57-
eslintConfigPrettier,
58+
<% if (warpDrive) { %>...WarpDrive,
59+
<% } %>eslintConfigPrettier,
5860
/**
5961
* Ignores must be in their own object
6062
* https://eslint.org/docs/latest/use/configure/ignore

packages/app-blueprint/files/app/app.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<% if (emberData) { %>import '@warp-drive/ember/install';
1+
<% if (warpDrive) { %>import '@warp-drive/ember/install';
22
<% } %>import Application from '@ember/application';
33
import Resolver from 'ember-resolver';
44
import loadInitializers from 'ember-load-initializers';

0 commit comments

Comments
 (0)