security: Restrict release workflow to upstream repository#219
Merged
Conversation
Add `if: github.repository == 'williajm/mcp_docker'` guards to the build-and-sign and publish-pypi jobs. Prevents forks from accidentally executing the release workflow (belt-and-suspenders with the PyPI trusted-publisher binding and the environment's branch/tag policy). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 tasks
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
🧪 Test Results for
|
| Test Suite | Status | Passed | Failed | Skipped | Duration |
|---|---|---|---|---|---|
| Unit Tests - Python 3.13 | ✅ | 966 | 0 | 0 | 14s |
| Unit Tests - Python 3.12 | ✅ | 966 | 0 | 0 | 12s |
| Unit Tests - Python 3.11 | ✅ | 966 | 0 | 0 | 13s |
| Unit Tests - Python 3.14 | ✅ | 966 | 0 | 0 | 14s |
| E2E | ✅ | 29 | 0 | 0 | 39s |
| Integration | ✅ | 5 | 0 | 0 | 0s |
| Total | ✅ | 3898 | 0 | 0 | - |
📊 Coverage
Coverage reports are available in the workflow artifacts.
📦 Download Reports
3 tasks
Fixes CVE-2026-39892 (cryptography buffer overflow in Hash.update on non-contiguous Python buffers) and CVE-2025-71176 (pytest /tmp dir permissions allow local DoS / privilege escalation). Lockfile regenerated with `uv lock --exclude-newer` (3-day buffer). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Owner
Author
|
Bundled dep bumps: cryptography 46.0.6 → 46.0.7 (CVE-2026-39892) and pytest 9.0.2 → 9.0.3 (CVE-2025-71176). These were failing pip-audit in CI — fix included here so the PR is mergeable. |
The previous commit locked with `--exclude-newer` which baked an [options] exclude-newer entry into uv.lock. CI does not set UV_EXCLUDE_NEWER, so it re-resolved and `--locked` failed consistency checks. Regenerate without the flag to match main's lockfile style; hash-pinned lockfile still provides supply-chain integrity. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.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
if: github.repository == 'williajm/mcp_docker'to both jobs inrelease.ymlContext
Per Matthias Kestenholz's PyPI trusted publishing writeup, the repository guard is a belt-and-suspenders complement to the trusted-publisher binding and the
pypienvironment's branch/tag deployment policy (already in place).Applying the same change to
mcp_kafkaandforgeryin separate PRs for consistency.Test plan
pypienvironment review🤖 Generated with Claude Code