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

Automate releases #938

Closed
1 of 2 tasks
Tracked by #1240
foolip opened this issue Apr 23, 2024 · 5 comments · Fixed by #1560
Closed
1 of 2 tasks
Tracked by #1240

Automate releases #938

foolip opened this issue Apr 23, 2024 · 5 comments · Fixed by #1560
Labels
enhancement New feature or request

Comments

@foolip
Copy link
Collaborator

foolip commented Apr 23, 2024

Let's automate releases more, so that we can quickly release and publish both a GitHub release with data.json and the npm package.

@foolip
Copy link
Collaborator Author

foolip commented Apr 23, 2024

@ddbeck
Copy link
Collaborator

ddbeck commented May 28, 2024

#11 (comment) outlined some work done or planned for automating releases as well.

@ddbeck ddbeck added the enhancement New feature or request label Jul 1, 2024
@foolip
Copy link
Collaborator Author

foolip commented Jul 22, 2024

@ddbeck and I have discussed this a few times, and concluded it makes sense to work backwards, first automating the publishing to NPM, then the creation of tags and GitHub releases. I'll update the description with a list of checkboxes.

@foolip
Copy link
Collaborator Author

foolip commented Aug 5, 2024

These are the steps I take to make a release manually now:

  • Send a PR to update packages/web-features/package.json and ackages/web-features/package-lock.json (I edit the first and then run npm i to update the second.)
  • Wait for that PR to be approved
  • Merge the PR and immediately go to https://github.com/web-platform-dx/web-features/releases/new
  • Fill in the tag name vX.Y.Z manually as both the tag and release title
  • For major releases, add a "Breaking Changes" section up top. For minor releases, add a "What's New" section up top.
  • Click "Generate release notes"
  • Search for "<" and make sure all element names are quoted with backquotes
  • Remove all lines from Dependabot
  • Locally, update main and run npm run build and npm run build:extended
  • Upload data.json, data.extended.json and data.schema.json as release artifacts
  • Publish GitHub release

The last step creates the Git tag. So far I have been running npm publish manually but that should now get done automatically.

I also take make sure I don't have a stale checkout or anything built from a previous state of the repo when I publish. Sometimes by running git clean -fdx before I start, and sometimes by just running npm ci in the root and inside packages/web-features.

@foolip
Copy link
Collaborator Author

foolip commented Aug 8, 2024

I've sent #1559 and #1560, and believe that with those two landed, releases are automated enough to not be a blocker for #1240.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants