PDFCLOUD-5592 Publish to PYPI#29
Merged
datalogics-kam merged 4 commits intopdfrest:mainfrom Feb 20, 2026
Merged
Conversation
- Changed the publish step in `test-and-publish.yml` to target PyPI instead of CodeArtifact, aligning with trusted publishing practices. - Added `environment: production` and `UV_TRUSTED_PUBLISHING: always` to ensure proper publishing conditions for PyPI. - Removed AWS role assumption and CodeArtifact-specific steps for streamlined PyPI publishing flow. Assisted-by: Codex
✅ Deploy Preview for pdfrest-python ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
- Updated `test-and-publish.yml` to include `environment: ci-live` for both the `tests` and `examples` workflows. - Ensures proper environment targeting during CI runs. Assisted-by: Codex
datalogics-dliang
approved these changes
Feb 19, 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.
PDFCLOUD-5592
Why this change
This PR prepares the project for public release and aligns publishing with a safer, lower-friction release path. The main goal is to move from internal CodeArtifact-specific publishing to PyPI Trusted Publishing, while keeping CI/live testing behavior explicit and consistent.
What changed (high level)
The release workflow now publishes to PyPI using OIDC-based Trusted Publishing instead of AWS role assumption and CodeArtifact keyring setup. The
publishjob was tightened to run only when a GitHub Release is actually published.The
testsandexamplesjobs now explicitly target theci-liveenvironment so secret/environment scoping is clear and consistent across the matrix.For live tests,
tests/live/conftest.pynow injects awsnheader into both sync and async client constructors using a session default (PDFREST_LIVE_WSN, fallbackdl-internal-python-ci) so live traffic is consistently tagged.The package version was bumped to
1.0.0to reflect a stable release milestone.Behavior changes
PRs and branch pushes still run docs, tests, and examples. Release publishing behavior changed from CodeArtifact publish to PyPI publish via Trusted Publishing.
testsandexamplesrun on Python 3.10, 3.11, 3.12, 3.13, and 3.14;docs-checkruns on Python 3.11.pull_requestevents.publishjob runs only onrelease.publishedand now targets PyPI.Validation
Validation for this change is CI-driven:
mkdocs --strict) indocs-check.nox -s tests) and examples matrix (nox -s examples) across Python 3.10-3.14.Risks and follow-ups
Primary risk is release-environment misconfiguration for PyPI Trusted Publishing (OIDC trust relationship and environment permissions). If that occurs, release publishing will fail fast at
uv publish.Follow-up to monitor: ensure
productionenvironment protection and PyPI Trusted Publisher settings remain aligned with this repo and release process.