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: release 9.7.0 #6470

Merged
merged 1 commit into from
Jun 1, 2023
Merged

chore: release 9.7.0 #6470

merged 1 commit into from
Jun 1, 2023

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented May 18, 2023

🤖 I have created a release beep boop

9.7.0

9.7.0 (2023-05-31)

Features

Bug Fixes

Documentation

Dependencies

config: 6.2.0

6.2.0 (2023-05-31)

Features

libnpmexec: 6.0.0

6.0.0 (2023-05-31)

⚠️ BREAKING CHANGES

  • require passing in chalk instance

Features

libnpmpublish: 7.3.0

7.3.0 (2023-05-31)

Features


This PR was generated with Release Please. See documentation.

@github-actions github-actions bot requested a review from a team as a code owner May 18, 2023 19:20
@github-actions
Copy link
Contributor Author

github-actions bot commented May 18, 2023

Release Manager

Release workflow run: https://github.com/npm/cli/actions/runs/5136462619

Force CI to Update This Release

This PR will be updated and CI will run for every non-chore: commit that is pushed to latest. To force CI to update this PR, run this command:

gh workflow run release.yml -r latest -R npm/cli -f release-pr=6470

Release Checklist for v9.7.0

  • 1. Checkout the release branch

    Ensure git status is not dirty on this branch after resetting deps. If it is, then something is probably wrong with the automated release process.

    gh pr checkout 6470 --force
    node . run resetdeps
    node scripts/git-dirty.js
  • 2. Check CI status

    gh pr checks --watch
  • 3. Publish the CLI and workspaces

    Warning:
    This will publish all updated workspaces to latest, prerelease or backport depending on their version, and will publish the CLI with the dist-tag set to next-9.

    Note:
    The --test argument can optionally be omitted to run the publish process without running any tests locally.

    node scripts/publish.js --test
  • 4. Optionally install and test npm@9.7.0 locally

    npm i -g npm@9.7.0
    npm --version
    npm whoami
    npm help install
    # etc
  • 5. Set latest dist-tag to newly published version

    Warning:
    NOT FOR PRERELEASE: Do not run this step for prereleases or if 9 is not being set to latest.

    node . dist-tag add npm@9.7.0 latest
  • 6. Trigger docs.npmjs.com update

    gh workflow run update-cli.yml --repo npm/documentation
  • 7. Merge release PR

    gh pr merge --rebase
    git checkout latest
    git fetch
    git reset --hard origin/latest
    node . run resetdeps
  • 8. Wait For Release Tags

    Warning:
    The remaining steps all require the GitHub tags and releases to be created first. These are done once this PR has been labelled with autorelease: tagged.

    Release Please will run on the just merged release commit and create GitHub releases and tags for each package. The release bot will will comment on this PR when the releases and tags are created.

    Note:
    The release workflow also includes the Node integration tests which do not need to finish before continuing.

    You can watch the release workflow in your terminal with the following command:

    gh run watch `gh run list -R npm/cli -w release -b latest -L 1 --json databaseId -q ".[0].databaseId"`
    
  • 9. Open nodejs/node PR to update npm to latest

    Warning:
    You must wait for CI to create the release tags before running this step. These are done once this PR has been labelled with autorelease: tagged.

    Trigger the Create Node PR action. This will open a PR on nodejs/node to the main branch.

    Note:
    The resulting PR may need to be labelled if it is not intended to land on old Node versions.

    First, sync our fork of node with the upstream source:

    gh repo sync npm/node --source nodejs/node --force

    Then, if we are opening a PR against the latest version of node:

    gh workflow run create-node-pr.yml -f spec=next-9

    If the PR should be opened on a different branch (such as when doing backports) then run it with -f branch=<BRANCH_NAME>. There is also a shortcut to target a specific Node version by specifying a major version number with -f branch=18 (or similar).

    For example, this will create a PR on nodejs/node to the v16.x-staging branch:

    gh workflow run create-node-pr.yml -f spec=next-9 -f branch=16
  • 10. Label and fast-track nodejs/node PR

    Note:
    This requires being a nodejs collaborator. Currently @lukekarrys is so ping them to do these steps!

    • Thumbs-up reaction on the Fast-track comment
    • Add an LGTM / Approval
    • Add request-ci label to get it running CI
    • Add commit-queue label once everything is green

@github-actions github-actions bot force-pushed the release-please--branches--latest branch 6 times, most recently from 4d674e9 to 9949013 Compare May 22, 2023 14:12
@github-actions github-actions bot changed the title chore: release 9.6.8 chore: release 9.7.0 May 22, 2023
@github-actions github-actions bot force-pushed the release-please--branches--latest branch 4 times, most recently from 5806b2a to 1bd42fc Compare May 22, 2023 14:22
@wraithgar wraithgar self-assigned this May 22, 2023
@github-actions github-actions bot force-pushed the release-please--branches--latest branch 9 times, most recently from 72ebca8 to eaf5c89 Compare May 23, 2023 15:43
@github-actions github-actions bot changed the title chore: release 9.7.0 chore: release 10.0.0 May 26, 2023
@github-actions github-actions bot force-pushed the release-please--branches--latest branch 2 times, most recently from 1e44c6f to 923e01f Compare May 26, 2023 17:43
@github-actions github-actions bot changed the title chore: release 10.0.0 chore: release 9.7.0 May 26, 2023
@github-actions github-actions bot force-pushed the release-please--branches--latest branch from 923e01f to 4a5a71f Compare May 26, 2023 20:14
@github-actions github-actions bot force-pushed the release-please--branches--latest branch from 4a5a71f to cb4ee0c Compare May 26, 2023 20:15
@lukekarrys lukekarrys assigned lukekarrys and unassigned wraithgar May 26, 2023
@github-actions github-actions bot force-pushed the release-please--branches--latest branch 5 times, most recently from 576a5fb to 5f5e1e2 Compare May 31, 2023 18:37
@github-actions github-actions bot force-pushed the release-please--branches--latest branch from 5f5e1e2 to f2d7efc Compare May 31, 2023 18:38
@lukekarrys
Copy link
Contributor

npm@9.7.0 was published but never tagged latest due to a bug found during step 4. below is a root cause of the bug, but the tl;dr is that npm@9.7.0 will be deprecated and npm@9.7.1 will be published once the bug is fixed.

we switched from read-package-json to @npmcli/package-json which recently received an update to bring all the features from the former to the latter. lost in this port was a minor change to normalizing package bins. previously we would not parse package.json#directories.bin if a package.json#bin was present (ref: https://github.com/npm/read-package-json/blob/main/lib/read-json.js#L351-L353) but now we do regardless of whether a bin object is there (ref: https://github.com/npm/package-json/blob/main/lib/normalize.js#L161)

next steps:

  • deprecate npm@9.7.. this version exists on the registry and contains breaking changes that would impact users if you publish packages using both bin and directories.bin
  • make a fix for this bug in @npmcli/package.json
  • do a further analysis of the changes between read-package-json and @npmcli/package-json and assert this behavior in news tests to ensure no other breaking changes occurred
  • do a new release for npm@9.7.1

@lukekarrys lukekarrys merged commit c2a4515 into latest Jun 1, 2023
32 checks passed
@lukekarrys lukekarrys deleted the release-please--branches--latest branch June 1, 2023 02:40
@github-actions
Copy link
Contributor Author

github-actions bot commented Jun 1, 2023

Release Workflow

🚨 @npm/cli-team: The post-release workflow failed for this release. Manual steps may need to be taken after examining the workflow output from the above workflow run. 🚨

lukekarrys added a commit to npm/package-json that referenced this pull request Jun 1, 2023
Full list of changes are as follows:
- ignore `directories.bin` if `bin` is present
- walk up filesystem to look for git directory
- log a warning for inaccessible bin entries but dont delete

These changes will be tracked in npm/statusboard#487 to see if they
should be made as breaking changes with npm 10.

These changes are tested by including `read-package-json` as a dev
dependency and running the `test/prepare.js` test suite against both
packages. This test can be removed once we have decided to make these
breaking changes.

Ref: npm/cli#6470
Fixes: #35
lukekarrys added a commit to npm/package-json that referenced this pull request Jun 1, 2023
Full list of changes are as follows:
- ignore `directories.bin` if `bin` is present
- walk up filesystem to look for git directory
- log a warning for inaccessible bin entries but dont delete

These changes will be tracked in npm/statusboard#487 to see if they
should be made as breaking changes with npm 10.

These changes are tested by including `read-package-json` as a dev
dependency and running the `test/prepare.js` test suite against both
packages. This test can be removed once we have decided to make these
breaking changes.

Ref: npm/cli#6470
Fixes: #35
lukekarrys added a commit to npm/package-json that referenced this pull request Jun 1, 2023
…ackages

Due to npm/cli#6470, I added `read-package-json` and
`read-package-json-fast` to this repo as dev deps to run the new tests
from #31 against those packages. I found a few discrepancies which I
fixed in this PR.

Full list of changes are as follows:

**`normalize` / `read-package-json-fast`**
- convert `bundleDependencies: false` to `[]`

**`prepare` / `read-package-json`**
- ignore `directories.bin` if `bin` is present
- walk up filesystem to look for git directory
- log a warning for inaccessible bin entries but dont delete

These changes will be tracked in npm/statusboard#487 to see if they
should be made as breaking changes with npm 10.

These legacy tests can be removed once we have decided to make these
breaking changes.

Ref: npm/cli#6470
Fixes: #35
lukekarrys added a commit to npm/package-json that referenced this pull request Jun 2, 2023
…ackages

Due to npm/cli#6470, I added `read-package-json` and
`read-package-json-fast` to this repo as dev deps to run the new tests
from #31 against those packages. I found a few discrepancies which I
fixed in this PR.

Full list of changes are as follows:

**`normalize` / `read-package-json-fast`**
- convert `bundleDependencies: false` to `[]`

**`prepare` / `read-package-json`**
- ignore `directories.bin` if `bin` is present
- walk up filesystem to look for git directory
- log a warning for inaccessible bin entries but dont delete

These changes will be tracked in npm/statusboard#487 to see if they
should be made as breaking changes with npm 10.

These legacy tests can be removed once we have decided to make these
breaking changes.

Ref: npm/cli#6470
Fixes: #35
lukekarrys added a commit to npm/package-json that referenced this pull request Jun 6, 2023
…ackages

Due to npm/cli#6470, I added `read-package-json` and
`read-package-json-fast` to this repo as dev deps to run the new tests
from #31 against those packages. I found a few discrepancies which I
fixed in this PR.

Full list of changes are as follows:

**`normalize` / `read-package-json-fast`**
- convert `bundleDependencies: false` to `[]`

**`prepare` / `read-package-json`**
- ignore `directories.bin` if `bin` is present
- walk up filesystem to look for git directory
- log a warning for inaccessible bin entries but dont delete

These changes will be tracked in npm/statusboard#487 to see if they
should be made as breaking changes with npm 10.

These legacy tests can be removed once we have decided to make these
breaking changes.

Ref: npm/cli#6470
Fixes: #35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants