Fix publish workflow artifact build and separate TestPyPI publishing - #133
Merged
Conversation
- Fix build_artifacts job to actually build and upload sdist - Add system dependencies (GLPK) to build process - Create test_publish.yml for TestPyPI testing - Rename publish.yml to publish_pypi.yml for production - Remove TestPyPI step from production workflow Co-authored-by: markobud <93592045+markobud@users.noreply.github.com>
- Create comprehensive documentation for publishing workflows - Explain TestPyPI and PyPI publishing processes - Add setup instructions for trusted publishing - Include troubleshooting guide Co-authored-by: markobud <93592045+markobud@users.noreply.github.com>
- Use proper command substitution for glob pattern checks - Fix tar.gz existence check to use ls with exit code - Fix wheel existence check to use ls with exit code Co-authored-by: markobud <93592045+markobud@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix CD/CI publish error in GitHub actions
Fix publish workflow artifact build and separate TestPyPI publishing
Feb 9, 2026
Owner
|
@copilot This is excellent, but I'd swap the triggers of test_publish and publish_pypi. Let's test_publish be triggered by tagging a new release and publish_pypi be triggered manually |
- test_publish.yml now triggers automatically on release (+ manual) - publish_pypi.yml is now manual-only (after TestPyPI testing) - Update verification logic to handle both trigger types - Update documentation to reflect new workflow process Co-authored-by: markobud <93592045+markobud@users.noreply.github.com>
Contributor
Author
Done in commit 59f313b. The triggers have been swapped:
The recommended workflow is now:
Documentation has been updated accordingly. |
markobud
marked this pull request as ready for review
February 9, 2026 04:21
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned Files
|
markobud
approved these changes
Feb 9, 2026
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.
The publish workflow failed with "Artifact not found for name: sdist" because
build_artifactsjob only printed placeholders instead of building artifacts. Additionally, TestPyPI and PyPI publishing were coupled in a single workflow.Changes
Fixed artifact building
build_artifactsnow installs GLPK and build dependenciespython -m build --sdistand uploads artifactcontinue-on-errorSeparated publishing workflows with optimized triggers
test_publish.yml: TestPyPI publishingpublish_pypi.yml: Production PyPI publishing (renamed frompublish.yml)Shell script fixes
[ ! -f dist/*.tar.gz ]to! ls dist/*.tar.gz >/dev/null 2>&1Documentation
.github/PUBLISHING_WORKFLOWS.md: Trusted publishing setup, workflow usage, troubleshootingWorkflow structure
Recommended Release Process
test_publish.ymlruns automatically and publishes to TestPyPIpublish_pypi.ymlfor production PyPI publishingBoth workflows build sdist independently. Wheels from
build-wheels.ymlare optional and merged if available.Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.