- Notifications
You must be signed in to change notification settings - Fork261
Feat/verify upstream before push#1360
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:master
Are you sure you want to change the base?
Feat/verify upstream before push#1360
Uh oh!
There was an error while loading.Please reload this page.
Conversation
1a5242d to17114adCompareThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Pull Request Overview
This PR integrates upstream branch verification directly into Python Semantic Release, eliminating the need for external shell scripts in CI/CD workflows. The implementation adds a newverify_upstream_unchanged() method that checks if the upstream branch has changed before pushing commits, preventing push conflicts when multiple developers are working on the same branch.
- Adds new error types for handling upstream verification failures
- Implements upstream verification logic in the
GitProjectclass - Integrates verification into the version command before pushing changes
- Updates documentation to reflect the new built-in verification
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/semantic_release/errors.py | Adds three new error classes for upstream verification failures |
| src/semantic_release/gitproject.py | Implements theverify_upstream_unchanged() method with upstream branch verification logic |
| src/semantic_release/cli/commands/version.py | Integrates upstream verification check before pushing changes |
| tests/unit/semantic_release/test_gitproject.py | Adds comprehensive unit tests for the new verification method |
| tests/e2e/cmd_version/test_version_upstream_check.py | Adds end-to-end tests for upstream verification scenarios |
| docs/configuration/automatic-releases/github-actions.rst | Removes manual upstream verification step from documentation and adds note about built-in verification |
| docs/configuration/configuration-guides/uv_integration.rst | Removes manual upstream verification script reference |
| docs/api/commands.rst | Documents the new automatic upstream verification behavior |
💡Add Copilot custom instructions for smarter, more guided reviews.Learn how to get started.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
9d6583a to292315dCompare…t commit push collisions
…erify unchanged upstream
…g upon version creation
292315d toc30b7fdCompare
Purpose
Rationale
How did you test?
How to Verify
PR Completion Checklist
Reviewed & followed theContributor Guidelines
Changes Implemented & Validation pipeline succeeds
Commits follow theConventional Commits standard
and are separated into the proper commit type and scope (recommended order: test, build, feat/fix, docs)
Appropriate Unit tests added/updated
Appropriate End-to-End tests added/updated
Appropriate Documentation added/updated and syntax validated for sphinx build (see Contributor Guidelines)