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

Release Manager: v8.15.1 (2022-07-27) #5224

Closed
34 of 36 tasks
lukekarrys opened this issue Jul 27, 2022 · 1 comment
Closed
34 of 36 tasks

Release Manager: v8.15.1 (2022-07-27) #5224

lukekarrys opened this issue Jul 27, 2022 · 1 comment
Assignees
Labels
release: manager task list for current release manager

Comments

@lukekarrys
Copy link
Member

lukekarrys commented Jul 27, 2022

Target Version: v8.15.1
Target Date: 2022-07-27
Created From: Release-Process-(v8).md###Publishing the `cli`

  • 0. Create release-manager issue

    Follow the rest of the checklist in the created issue.

    node scripts/release-manager.js
  • 1. Checkout the latest branch and reset deps

    git checkout latest && git pull
    node . run resetdeps
  • 2. Pull in PRs

    • Search for PRs to merge. Some helpful gh searches:

      gh pr list --draft=false --search "status:pending"
      gh pr list --draft=false --search "status:success"
      gh pr list --draft=false --search "review:required"
      gh pr list --draft=false --search "review:approved"
    • Make sure the PR is targeting latest and not something else.

    • Make a judgment call to either squash or rebase the PR. Prefer using squash unless PR has multiple conventional commits.

    • Squash

      gh pr merge -s <pr-num> && git pull
    • Rebase

      gh pr merge -m <pr-num> && git pull
  • 3. ❓ Optional: Update Deps

    Steps

    ⚠️ This is an optional step, the way we are handling the dependencies now is to open then via Pull Requests so ideally any dependencies update that needs to go out in a release should have been merged already at this point. Refer to these steps in case there are important last-minute dependencies updates that needs to go out along with the current release.

    • Check all deps

      node . outdated
    • Check production deps

      node . outdated -a --omit=dev
    • Install and commit each dep to a PR

      git checkout -b deps/updates
      node . install <pkg>@<version>
      node ./scripts/bundle-and-gitignore-deps.js
      git add -A && git commit -m 'deps: <pkg>@<version>'
      git push origin deps/updates
      gh pr create -f
    • Rebase-merge the PR if things look ok

    • Updating template-oss

      node . i @npmcli/template-oss@latest -ws --include-workspace-root --save-exact
  • 4. Make sure tests/lint pass

    node . run test-all
    node . run lint-all
  • 5. Generate Changelog

    • Push commits needed to generate the changelog

      git push origin latest
    • Write release notes to CHANGELOG.md

      node ./scripts/changelog.js -w --format=short
    • Open CHANGELOG.md and check it for any unexpected/malformed entries.

    • Commit CHANGELOG.md updates

      git add CHANGELOG.md && git commit -m 'chore: changelog for v8.15.1'
  • 6. Update Version

    node . version 8.15.1
  • 7. Push to GitHub

    • Create a release branch in the remote repo

      git push origin latest:release/v8.15.1
    • Create a PR with the body set to the manually formatted release notes from CHANGELOG.md

      node ./scripts/changelog.js -r --type=gh | gh pr create -H release/v8.15.1 -t "Release/v8.15.1" -F -
    • Ensure PR CI checks pass

      gh pr checks release/v8.15.1 --watch
  • 8. Publish Package

    make publish
  • 9. Update Dist Tag

    • ❓ Optional: install via version to see how it runs locally before tagging

      npm i -g npm@8.15.1
    • Set version to latest dist tag

      node . dist-tag add npm@8.15.1 latest
  • 10. Create a GitHub release

    • Create a GitHub release with the notes set to the body of the PR

      gh pr view release/v8.15.1 --json body --jq .body | gh release create v8.15.1 --title "v8.15.1" -F -
  • 11. ⏳ Temporary: Merge the release branch into release-next

    git checkout release-next
    git fetch && git pull
    git merge --ff-only latest
    git push origin release-next
    git checkout latest
  • 12. Post on Twitter

    New @npmjs release!
    
    <link-to-github-release>
    
    <details-about-release>
    
    latest: 8.15.1
    
  • 13. Update Node.js

    • Sync our npm/node fork with the nodejs/node upstream

      gh repo sync npm/node --source nodejs/node --force
    • Trigger the Create CLI Deps PR action (use the default input of latest)

      gh workflow run create-cli-deps-pr.yml
@lukekarrys lukekarrys added the release: manager task list for current release manager label Jul 27, 2022
@lukekarrys lukekarrys self-assigned this Jul 27, 2022
@lukekarrys lukekarrys changed the title Release Manager: vX.Y.Z (2022-07-27) Release Manager: v8.15.1 (2022-07-27) Jul 27, 2022
@lukekarrys
Copy link
Member Author

Closed by #5226

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release: manager task list for current release manager
Projects
None yet
Development

No branches or pull requests

1 participant