-
Notifications
You must be signed in to change notification settings - Fork 9.6k
Closed
Labels
Description
Goal: Automate publishing to NPM and rolling to DevTools. Minimal manual work will be entering a version number, reviewing/editing the changelog.md in a PR, and waiting for a DevTools CL to be +1'd to submit.
Stage 0: Prerequisites
- ☔ release script improvements #9857 (only some are blocking an automated release)
- Replace the manual tests with automated tests (maybe some are already well covered?) (or should reviewing the release PR involve checking out the branch, building, and doing some manual tests?)
-
- DevTools manual testing (
yarn open-devtools). Can we drop this?
- DevTools manual testing (
-
- "Testing the CLI" (
yarn start "https://example.com" --view). Can we drop this?
- "Testing the CLI" (
-
- "Test the extension". We have unit tests, integration tests. Do we need more? Also, extension shouldn't ever really change now, so it seems this manual testing should be confined to code changes in
clients/extensionorbuild-extension.js. Can we drop this?
- "Test the extension". We have unit tests, integration tests. Do we need more? Also, extension shouldn't ever really change now, so it seems this manual testing should be confined to code changes in
-
- "Test the viewer". Test with old and new LHRs. Can we make integration tests for this instead?
Stage 0.5: Automate publishing daily builds
- Make a new GH action that publishes as
@nextevery day.
Stage 1: Automate publishing to NPM
- Make a new GH action that listens for
workflow_dispatch. Only input is the version number -
- Run release scripts (piping to
yesto continue prompts)
- Run release scripts (piping to
-
- Open a dummy CL to DevTools repo, stage a roll, make sure CQ will pass (maybe too much work, defer for later and continue doing manually during PR review?)
-
- Open PR
- Reviewers have the opportunity to edit the release notes
- PR is approved and merged
- Another new GH action that listens for
commit(and message matching^v[\d.]+$) picks up the automation process -
- Create a new release. Can use the action directly–just need to write a script that excises the newest part of the
changelog.mdfile to use as input to this action
- Create a new release. Can use the action directly–just need to write a script that excises the newest part of the
-
- Publish to npm
-
- More? See next stage.
Stage 2: Automate rolling to DevTools
- Either continuing on the previous action, or as a new one listening to the
releaseevent, create a new CL to the DevTools repo and send out for review
Stage 3: Cron
- How to solve the problem of "what is the next version number" (minor or major bump)? Would we need to adopt semantic commit messages to utilize https://github.com/semantic-release/semantic-release or something like this?
- Would we want to release like this? Weekly? Daily? Monthly?
patrickhulce, brendankenny and adamrainepatrickhulce