[QUEST] Release Automation βοΈπ¦π
The EmberData team recently landed a number of improvements to the release publishing and CI pipelines to reduce the cost overhead of releases, enable publishing canary builds to npm, and prepare for a more automated future.
This ticket outlines remaining work items we hope to accomplish to complete our quest for low-to-zero-overhead releases:
CI
- [x] ensure we match Travis for current Azure setup πClaimed by @HeroicEric https://github.com/emberjs/data/pull/6098
- [x] ~~Drop
travis.ymland deactivateTravisforember-data~~ We dropped all jobs we could. Once we have allowed-failure equivalent in gh-actions we will drop the rest. - [x] validate that all PRs have a label for the targeted branch
- [x] validate that all PRs have a label for their kind (fix|chore|test|security etc.)
Branch Management
- [ ] document how to use the
backporting botfeature for backporting fixes tobetaandreleasebranches - [ ] improve
backporting botfeature to account for fixes that need to target both beta and release branches - [ ] configure the
backporting botto work via labels - [ ] [DISCUSS]
backporting botshould runlint --fixautomatically on backported commits
Changelog Generation
- [x] move to
lerna changelogfrom custom solution - [ ] add changelog generation into the
lerna versionautomation step in our release script - [ ] investigate configuring our monorepo to publish release notes (possible if using
lerna changelog)
Publishing
- [x] Automate nightly publishing of canary to
npm registry- [ ] failed & successful attempts should notify @core-data in #dev-ember-data on discord
- [x] should only publish if changes exist since last canary
- [x] configure CI with a token to be used in place of OTP for publishing to
npm - [x] upgrade release script to confirm or bypass the
lerna versionprompt for the intended version bump
Testing Automation also means we will want to ensure more robust testing.
- [ ] add tests for our automated release process (likely via https://verdaccio.org/)
- [x] IE11 integration tests #6431
- [x] fastboot integration tests #6431
cc @HeroicEric for assignment
I looked at whether I could contribute on backport bot but it appears to backport onto branches - There are no release branches since 3.4 - is this a change of branching methodology?
@BryanCrotaz we only create specific release branch if we have something to backport, so the first backport we create a branch from the tag.
@BryanCrotaz would you be interested in picking up where @Gaurav0 left off with the backport bot?
with #9231 I don't think this particular ticket serves us much use anymore. I would love for use to get a backport bot still, but automating releases is itself a big enough win I'm not sure its worth keeping this open.