-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Deploy to PyPI via Trusted Publishers (#14)
- Loading branch information
Showing
3 changed files
with
109 additions
and
3 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
name: Build package | ||
|
||
on: | ||
push: | ||
pull_request: | ||
release: | ||
types: | ||
- published | ||
workflow_dispatch: | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
# Always build & lint package. | ||
build-package: | ||
name: Build & verify package | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- uses: hynek/build-and-inspect-python-package@v2 | ||
|
||
# Publish to Test PyPI on every commit on main. | ||
release-test-pypi: | ||
name: Publish in-dev package to test.pypi.org | ||
if: | | ||
github.repository_owner == 'python' | ||
&& github.event_name == 'push' | ||
&& github.ref == 'refs/heads/main' | ||
runs-on: ubuntu-latest | ||
needs: build-package | ||
|
||
permissions: | ||
id-token: write | ||
|
||
steps: | ||
- name: Download packages built by build-and-inspect-python-package | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: Packages | ||
path: dist | ||
|
||
- name: Publish to Test PyPI | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
repository-url: https://test.pypi.org/legacy/ | ||
|
||
# Publish to PyPI on GitHub Releases. | ||
release-pypi: | ||
name: Publish to PyPI | ||
# Only run for published releases. | ||
if: | | ||
github.repository_owner == 'python' | ||
&& github.event.action == 'published' | ||
runs-on: ubuntu-latest | ||
needs: build-package | ||
|
||
environment: | ||
name: pypi | ||
url: >- | ||
https://pypi.org/project/blurb/${{ | ||
github.event.release.tag_name | ||
}} | ||
permissions: | ||
id-token: write | ||
|
||
steps: | ||
- name: Download packages built by build-and-inspect-python-package | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: Packages | ||
path: dist | ||
|
||
- name: Publish to PyPI | ||
uses: pypa/gh-action-pypi-publish@release/v1 |
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# Release Checklist | ||
|
||
- [ ] check tests pass on [GitHub Actions](https://github.com/python/blurb/actions) | ||
[![GitHub Actions status](https://github.com/python/blurb/actions/workflows/main.yml/badge.svg)](https://github.com/python/blurb/actions/workflows/main.yml) | ||
|
||
- [ ] Update [changelog](https://github.com/python/blurb/blob/main/CHANGELOG.md) | ||
|
||
- [ ] Go to the [Releases page](https://github.com/python/blurb/releases) and | ||
|
||
- [ ] Click "Draft a new release" | ||
|
||
- [ ] Click "Choose a tag" | ||
|
||
- [ ] Type the next `vX.Y.Z` version and select "**Create new tag: vX.Y.Z** on publish" | ||
|
||
- [ ] Leave the "Release title" blank (it will be autofilled) | ||
|
||
- [ ] Click "Generate release notes" and amend as required | ||
|
||
- [ ] Click "Publish release" | ||
|
||
- [ ] Check the tagged [GitHub Actions build](https://github.com/python/blurb/actions/workflows/release.yml) | ||
has deployed to [PyPI](https://pypi.org/project/blurb/#history) | ||
|
||
- [ ] Check installation: | ||
|
||
```bash | ||
python -m pip uninstall -y blurb && python -m pip install -U blurb && blurb help | ||
``` |