ci: replace changelog gate with release-please and conventional commits#286
Open
andre-stefanov wants to merge 1 commit into
Open
ci: replace changelog gate with release-please and conventional commits#286andre-stefanov wants to merge 1 commit into
andre-stefanov wants to merge 1 commit into
Conversation
4e9102e to
0f38fe2
Compare
There was a problem hiding this comment.
Pull request overview
This PR modernizes the repo’s CI and release automation by replacing the manual “changelog/version gate” with a Conventional Commits PR-title check and automated releases driven by release-please on develop.
Changes:
- Consolidates PR checks into a single CI workflow (PR title lint, native unit tests, and matrix builds across 5 boards).
- Introduces release-please configuration + workflow to generate release PRs/tags/releases automatically.
- Removes the legacy changelog/version-check workflow and related Python tooling; adds
RELEASE.mddocumentation.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
version_check.py |
Removed legacy version/changelog validation script. |
requirements_version_check.txt |
Removed dependencies for the deleted version check. |
RELEASE.md |
Added developer documentation for the new release process. |
release-please-config.json |
Added release-please configuration (tag prefix, Version.h extra-file update). |
.release-please-manifest.json |
Added release-please manifest with current version. |
.github/workflows/release-please.yml |
Added workflow to run release-please on pushes to develop. |
.github/workflows/ci.yml |
Added consolidated PR CI workflow (title lint, unit tests, matrix builds). |
.github/workflows/code_format.yml |
Updated actions/checkout version (v2 → v4). |
.github/workflows/platformio.yml |
Removed old PlatformIO matrix build workflow. |
.github/workflows/platformio_unit_tests.yml |
Removed old unit test workflow (merged into CI). |
.github/workflows/changelog.yml |
Removed old changelog/version gate workflow. |
.github/actions/setup-pio/action.yml |
Added composite action to share Python/PlatformIO setup across jobs. |
Comments suppressed due to low confidence (1)
.github/actions/setup-pio/action.yml:27
- The “Install unit test dependencies” step runs unconditionally, so every consumer of this action (including firmware build jobs) installs
gcovr. If the intent is to keep build jobs minimal, add aninstall-unit-test-depsinput and guard this step with it (and updateci.ymlaccordingly).
- name: Install matrix build dependencies
if: inputs.install-matrix-deps == 'true'
shell: bash
run: pip install -r requirements_matrix_build.txt
- name: Install unit test dependencies
shell: bash
run: pip install gcovr
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+25
to
+26
| with: | ||
| install-unit-test-deps: 'true' |
Comment on lines
+4
to
+9
| inputs: | ||
| install-matrix-deps: | ||
| description: 'Install matrix build dependencies from requirements_matrix_build.txt' | ||
| required: false | ||
| default: 'false' | ||
|
|
Comment on lines
+23
to
+27
| | Type | Triggers | Example | | ||
| |------|----------|---------| | ||
| | `feat` | minor version bump | `feat: add AZ/ALT steps-per-degree Meade command` | | ||
| | `fix` | patch version bump | `fix: correct sidereal rate after meridian flip` | | ||
| | `feat!` or `BREAKING CHANGE:` footer | major version bump | `feat!: remove legacy serial protocol` | |
| @@ -0,0 +1,3 @@ | |||
| { | |||
| ".": "1.13.19" | |||
Comment on lines
+1
to
+8
| { | ||
| "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", | ||
| "release-type": "simple", | ||
| "tag-prefix": "V", | ||
| "packages": { | ||
| ".": { | ||
| "release-type": "simple", | ||
| "extra-files": [ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Overhauls the CI and release process to eliminate the per-PR changelog/version overhead and introduce automated, tag-based releases.
See RELEASE.md for the full developer guide.
What changed
Added
.github/workflows/ci.yml— consolidated PR checks: PR title lint (Conventional Commits), unit tests, and matrix build across all 5 boards; all checks are required.github/workflows/release-please.yml— runs on push todevelop; manages the Release PR, version bump, changelog generation, git tag, and GitHub Release automatically.github/actions/setup-pio/action.yml— composite action that installs Python + PlatformIO, shared across build and test jobsrelease-please-config.json+.release-please-manifest.json— release-please configuration (simple release type,Vtag prefix, updatesVersion.hautomatically)RELEASE.md— developer documentation for the new release processRemoved
.github/workflows/changelog.yml— replaced by release-please.github/workflows/platformio.yml— replaced byci.yml.github/workflows/platformio_unit_tests.yml— merged intoci.ymlversion_check.py+requirements_version_check.txt— no longer neededUpdated
.github/workflows/code_format.yml— bumpedactions/checkoutfromv2tov4; logic unchangedHow releases work now
feat:,fix:,chore:, etc.)Required follow-up (repo settings)
Branch protection for
developneeds updating:Check changelog and version are matchingPR Title (Conventional Commits),Unit Tests,Build (mksgenlv21),Build (mksgenlv2),Build (mksgenlv1),Build (esp32),Build (ramps)