-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
build: Support updates to previous major versions #18871
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
Conversation
✅ Deploy Preview for docs-eslint ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
This is marked as draft because it needs a new version of |
docs/src/maintain/manage-releases.md
Outdated
|
||
The following table shows examples of the option to select as `RELEASE_TYPE` when starting `eslint-js Release` (the `@eslint/js` package release) and `eslint Release` (the `eslint` package release) jobs on Jenkins to release a new version with the latest features. In both jobs, `main` should be selected as `RELEASE_BRANCH`. | ||
|
||
| **Current version** | **Releasing** | **`eslint-js Release`** | **`eslint Release`** | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm having a bit of trouble understanding this table. Is "Current Version" the equivalent of eslint@latest
? I'm also not clear on what the "Releasing" column is meant to indicate. Is that the desired next version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is "Current Version" the equivalent of
eslint@latest
?
No, "Current Version" is as described on https://eslint.org/version-support/. For example, when we released 9.0.0-alpha.0
, 9.0.0-alpha.0
became the "Current Version".
I'm also not clear on what the "Releasing" column is meant to indicate. Is that the desired next version?
Yes, that's the version that is going to be released.
Any ideas for better names to clarify this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah ok. "Current" on the version support page refers to the major release line, not a single version.
Looking this over, I think it's confusing to combine settings for eslint
and @eslint/js
in the same table. For ESLint, we cannot guarantee that 9.25.0 goes to 9.25.1 because it depends on the commits. I think it may be better to separate these into two tables, one for eslint
and one for @eslint/js
.
As for the wording, maybe this?
- "HEAD Version"
- "Desired Next Version"
eslint
Release Option
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated in 4482729
docs/src/maintain/manage-releases.md
Outdated
|
||
When releasing a new version of the previous major line, the option to select as `RELEASE_TYPE` depends on whether the current version is a prerelease or not. In both jobs, the corresponding development branch (for example, `v9.x-dev`) should be selected as `RELEASE_BRANCH`. | ||
|
||
| **Current version** | **Releasing** | **`eslint-js Release`** | **`eslint Release`** | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment here. I find this format hard to understand.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Would like @fasttime to verify before merging.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Co-authored-by: Nitin Kumar <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
Prerequisites checklist
What is the purpose of this pull request? (put an "X" next to an item)
[ ] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[x] Other, please explain:
Refs #18691
Updates
main
branch to support releasing updates to previous major versionsWhat changes did you make? (Give an overview)
release:generate:maintenance
script. When this script is run, Makefile.js will pass package tag"maintenance"
to eslint-release, which will then publish new release with--tag maintenance
on npm and also not mark it as Latest on GitHub (feat: Support updates to previous major versions eslint-release#62). Also, Makefile.js will update avNN.x
docs branch instead of thelatest
docs branch. We'd addmaintenance
to the RELEASE_TYPE list on Jenkins.main
, Makefile.js will copy over the changelog update to themain
branch, and updatedocs/src/_data/versions.json
on themain
branch instead of the current branch.Is there anything you'd like reviewers to focus on?
I tested this locally (just had to replace remote commands like
git push...
withecho git push...
) on themain
branch (including the case when v8.57.1 has already been released from thev8.x-dev
branch) and a futurev9.x-dev
branch with various scenarios and everything seems to be working fine.