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

🛠 Repo: New release with no features (testing the release pipeline) #5081

Closed
5 tasks done
JoshuaKGoldberg opened this issue Jan 18, 2024 · 3 comments
Closed
5 tasks done
Assignees
Labels
area: repository tooling concerning ease of contribution

Comments

@JoshuaKGoldberg
Copy link
Member

Tooling Suggestion Checklist

Overview

Spinning out of #5027: we need to be able to publish new releases of Mocha. None of us new maintainers have done that or gone through the specific release flow for Mocha before. This issue tracks us making sure we can.

Additional Info

https://github.com/mochajs/mocha/blob/53a4bafbdeb32576440b0a21787f2525585411c0/MAINTAINERS.md#mochas-release-process describes the release process.

@JoshuaKGoldberg JoshuaKGoldberg added area: repository tooling concerning ease of contribution status: in discussion Let's talk about it! labels Jan 18, 2024
@JoshuaKGoldberg JoshuaKGoldberg self-assigned this Jan 18, 2024
@JoshuaKGoldberg
Copy link
Member Author

Tried it out and I don't have publish permissions. Jotting down the steps I took here for future reference...

First, I visited https://github.com/mochajs/mocha/pulls?q=is%3Apr+is%3Amerged+merged%3A%3E2022-12-04 to get the PRs merged since the last release. This script generates a changelog list based on those PR names:

function printPullRequestLine(element) {
    // [#5069](https://github.com/mochajs/mocha/pull/5069): chore: remove unnecessary canvas dependency ([**@JoshuaKGoldberg**](https://github.com/JoshuaKGoldberg))
    const href = element.getAttribute("href");
    const id = href.split("/").at(-1);
    const author = element.parentElement.querySelector(`[data-hovercard-type="user"]`).textContent;
    return `- [#${id}](https://github.com${href}): ${element.textContent} ([**@${author}**](https://github.com/${author}))`
}

Array.from(document.querySelectorAll(`[data-hovercard-type="pull_request"]`))
    .map(printPullRequestLine)
    .join("\n")

I then added those in CHANGELOG.md:

# 10.3.0-prerelease / 2024-01-18

This is a prerelease version to test our ability to release.
Other than removing or updating dependencies, it contains no intended user-facing changes.

## :nut_and_bolt: Other

- [#5069](https://github.com/mochajs/mocha/pull/5069): chore: remove unnecessary canvas dependency ([**@JoshuaKGoldberg**](https://github.com/JoshuaKGoldberg))
- [#5068](https://github.com/mochajs/mocha/pull/5068): fix: add alt text to Built with Netlify badge ([**@JoshuaKGoldberg**](https://github.com/JoshuaKGoldberg))
- [#5056](https://github.com/mochajs/mocha/pull/5056): chore: inline nyan reporter's write function ([**@JoshuaKGoldberg**](https://github.com/JoshuaKGoldberg))
- [#5050](https://github.com/mochajs/mocha/pull/5050): docs: touchups to labels and a template title post-revamp ([**@JoshuaKGoldberg**](https://github.com/JoshuaKGoldberg))
- [#5038](https://github.com/mochajs/mocha/pull/5038): docs: overhaul contributing and maintenance docs for end-of-year 2023 ([**@JoshuaKGoldberg**](https://github.com/JoshuaKGoldberg))
- [#5029](https://github.com/mochajs/mocha/pull/5029): chore: remove stale workflow ([**@JoshuaKGoldberg**](https://github.com/JoshuaKGoldberg))
- [#5024](https://github.com/mochajs/mocha/pull/5024): chore: remove nanoid as dependency ([**@Uzlopak**](https://github.com/Uzlopak))
- [#5023](https://github.com/mochajs/mocha/pull/5023): chore: remove touch as dev dependency ([**@Uzlopak**](https://github.com/Uzlopak))
- [#5022](https://github.com/mochajs/mocha/pull/5022): chore: remove uuid dev dependency ([**@Uzlopak**](https://github.com/Uzlopak))
- [#5021](https://github.com/mochajs/mocha/pull/5021): update can-i-use ([**@Uzlopak**](https://github.com/Uzlopak))
- [#5020](https://github.com/mochajs/mocha/pull/5020): chore: fix the ci ([**@Uzlopak**](https://github.com/Uzlopak))
- [#4974](https://github.com/mochajs/mocha/pull/4974): Add Node v19 to test matrix ([**@juergba**](https://github.com/juergba))
- [#4970](https://github.com/mochajs/mocha/pull/4970): fix [#4837](https://github.com/mochajs/mocha/issues/4837) Update glob due to vulnerability in dep ([**@jb2311**](https://github.com/jb2311))
- [#4962](https://github.com/mochajs/mocha/pull/4962): Fix deprecated warn gh actions ([**@outsideris**](https://github.com/outsideris))
- [#4927](https://github.com/mochajs/mocha/pull/4927): docs: use mocha.js instead of mocha in the example run ([**@nikolas**](https://github.com/nikolas))
- [#4918](https://github.com/mochajs/mocha/pull/4918): docs: fix fragment ID for yargs' "extends" documentation ([**@Spencer-Doak**](https://github.com/Spencer-Doak))
- [#4886](https://github.com/mochajs/mocha/pull/4886): docs: fix jsdoc return type of titlePath method ([**@F3n67u**](https://github.com/F3n67u))

These scripts created a preminor version and then tried to release:

npm version preminor -m "Release v%s" --preid preminor
npm publish --tag prerelease

Result: 403 permission denied. I'll need to find a previous maintainer-person to give publish permissions to my joshuakgoldberg on npm.

@JoshuaKGoldberg JoshuaKGoldberg added status: blocked Waiting for something else to be resolved and removed status: in discussion Let's talk about it! labels Jan 18, 2024
@JoshuaKGoldberg
Copy link
Member Author

https://www.npmjs.com/package/mocha/v/10.3.0-preminor.0: is released under the next tag. You can install it with npm i mocha@next. 🚀

@JoshuaKGoldberg JoshuaKGoldberg removed the status: blocked Waiting for something else to be resolved label Jan 30, 2024
@voxpelli
Copy link
Member

Great job! 🥳 🥳 🥳

This was referenced Aug 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: repository tooling concerning ease of contribution
Projects
None yet
Development

No branches or pull requests

2 participants