chore: tighten release plumbing for 0.3.0#29
Merged
Conversation
- CHANGELOG: merge richer 0.2.0 prose under release-please-generated heading; drop stale "Unreleased" label that Copilot flagged on PR #17. Already-released sections are durable across future release-please runs. - CI matrix: add Python 3.12 alongside 3.11 (ecosystem py-flat-layout profile). Verified locally: streamdeck/pillow/mcp[cli] all resolve binary wheels on 3.12. - CI: add ruff format --check and pytest-cov upload to codecov (continue-on-error). - New workflow: dependabot-auto-merge.yml mirrors mcp-ecosystem template; closes the ❌ error from audit-server.sh and lets safe Dependabot PRs auto-merge. - profile_manager.py / profile_server.py / tests: ruff format --check baseline (mechanical line-collapse to fit within the 100-char limit; no behavior change). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- ci.yml: switch from `uv venv` + `uv run` to `uv pip install --system`. The previous setup tripped on matrix Python 3.12 because `uv run` re-syncs the venv from uv.lock (which pins 3.11) on each invocation, discarding the [dev] extras installed in the prior step. --system installs into the runner's matrix-provided Python directly and puts ruff/pytest on PATH. - security.yml: add `continue-on-error: true` to the pip-audit and bandit jobs to match mcp-ecosystem/templates/python/.github/workflows/security.yml. CVE-2026-3219 in pip itself currently has no fix version, so a hard gate on pip-audit blocks unrelated PRs; CodeQL remains the hard security gate. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Pre-release cleanup to tighten the v0.3.0 release process by aligning the changelog with release-please output, adding Dependabot auto-merge plumbing, and strengthening CI (Python version matrix, formatting checks, and coverage upload), plus mechanical ruff format updates.
Changes:
- Adjust
CHANGELOG.mdto remove the stale “0.2.0 - Unreleased” heading and keep 0.2.0 content under the release-please section. - Add a reusable-workflow wrapper to auto-merge safe Dependabot PRs.
- Update CI to run on Python 3.11/3.12, enforce
ruff format --check, and generate/upload coverage.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
CHANGELOG.md |
Removes the stale unreleased heading so the 0.2.0 section matches release-please structure. |
.github/workflows/dependabot-auto-merge.yml |
Adds a Dependabot auto-merge workflow that delegates to an org reusable workflow. |
.github/workflows/ci.yml |
Adds workflow dispatch, Python matrix, formatting check, and coverage generation/upload. |
profile_manager.py |
ruff format-only line collapsing (no functional changes). |
profile_server.py |
ruff format-only line collapsing and string literal formatting. |
tests/test_profile_manager.py |
ruff format-only line collapsing in tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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
Pre-release cleanup that should land before merging the v0.3.0 release PR (#17). Closes the audit gaps surfaced by
mcp-ecosystem/scripts/audit-server.shand addresses the unresolved Copilot review on #17. After this merges, release-please will rebase #17 with the cleaned CHANGELOG.## [0.2.0] - Unreleasedlabel that Copilot flagged on PR chore(main): release 0.3.0 #17 (richer history is preserved instead of deleted; already-released sections are durable across future release-please runs)..github/workflows/dependabot-auto-merge.yml(new) — mirrors the canonical Python template inmcp-ecosystem/templates/python/.github/workflows/dependabot-auto-merge.yml. Closes the one ❌ fromaudit-server.shand lets safe Dependabot PRs (patch updates, transitive deps, GitHub Actions updates) flow through without manual review..github/workflows/ci.yml— Python 3.11 + 3.12 matrix (verified locally:streamdeck,pillow>=10.0.0, andmcp[cli]>=1.6.0all resolve binary wheels on 3.12),ruff format --check, andpytest --cov=. --cov-report=xmlwith codecov upload (continue-on-error: trueso a missing token doesn't block CI).profile_manager.py/profile_server.py/tests/test_profile_manager.py—ruff formatbaseline. Mechanical line-collapses inside the existing 100-char limit; no behavior change. Necessary because we're addingruff format --checkto CI.Verification
Wheel content sanity-checked locally:
streamdeck_assets/materialdesignicons-webfont.ttf(1.3 MB) ✓streamdeck_assets/mdi-meta.json(621 KB) ✓streamdeck_assets/skill/streamdeck-designer/SKILL.md(19 KB) + all references and recipes ✓Description-Content-Type: text/markdown✓ (PyPI will render the README correctly)Test plan
python-version: 3.11and3.12.uv lockcommit to sync the lockfile to 0.3.0; release-please does not currently updateuv.lock.)🤖 Generated with Claude Code