Automated firmware management #53
cachamber
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I've put together some GitHub workflows to automate the management of AirCube firmware. Since it automates the firmware release process, it depends on Conventional Commits and Semantic Release. This would require commit messages to follow a standardized format to enable the automation. But it removes the need to tag/build/release firmware.
I've got it enabled on my fork. Wondered if this would be helpful.
Key components:
Excerpt from CONTRIBUTING.md guide:
Semantic commit format (required)
Use this format:
type(scope): summaryExamples:
feat(zigbee): add software build id reportingfix(i2c): avoid bus init race during bootfeat(api)!: remove legacy history commandAllowed types:
feat,fix,perf,refactor,build,ci,docs,style,test,chore,revertVersion bump rules used by CI:
feat: minor bump (X.Y.Z->X.(Y+1).0)fixand other allowed types: patch bump (X.Y.Z->X.Y.(Z+1))!orBREAKING CHANGE: major bump (X.Y.Z->(X+1).0.0)GitHub Actions firmware release flow
semantic-releasefrom Conventional Commits.masterproduce stable tags (v<semver>). Other branches publish-devprereleases.The firmware version embedded in the binary is injected by CI as
PROJECT_VERusingsemantic-releaseversion resolution.Beta Was this translation helpful? Give feedback.
All reactions