Skip to content

Commit

Permalink
workflows: automatically create GitHub release
Browse files Browse the repository at this point in the history
Signed-off-by: Benjamin Gilbert <[email protected]>
  • Loading branch information
bgilbert committed Nov 18, 2023
1 parent bd53f8b commit 5cb7b3d
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 2 deletions.
3 changes: 1 addition & 2 deletions .github/ISSUE_TEMPLATE/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@
- [ ] Find the [workflow run](https://github.com/openslide/openslide-python/actions/workflows/python.yml) for the tag; download its dist and docs artifacts
- [ ] `unzip /path/to/downloaded/openslide-python-dist.zip && mv openslide-python-dist-*/* dist/`
- [ ] `twine upload dist/*`
- [ ] Recompress tarball with `xz`
- [ ] Attach release notes to [GitHub release](https://github.com/openslide/openslide-python/releases/new); upload tarballs and wheels
- [ ] Verify that the workflow created a [GitHub release](https://github.com/openslide/openslide-python/releases) with release notes, a source tarball, and wheels
- [ ] `cd` into website checkout; `rm -r api/python && unzip /path/to/downloaded/openslide-python-docs.zip && mv openslide-python-docs-* api/python`
- [ ] Update website: `_data/releases.yaml`, `_includes/news.md`
- [ ] Update Ubuntu PPA
Expand Down
34 changes: 34 additions & 0 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -218,3 +218,37 @@ jobs:
with:
name: ${{ needs.pre-commit.outputs.docs-base }}
path: artifact

release:
name: Release
if: github.ref_type == 'tag'
needs: [pre-commit, tests, windows]
runs-on: ubuntu-latest
concurrency: release-${{ github.ref }}
permissions:
contents: write
steps:
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: ${{ needs.pre-commit.outputs.dist-base }}
- name: Release
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
version=$(echo "${{ github.ref_name }}" | sed "s/^v//")
# recompress tarball with xz
gunzip -k "${{ needs.pre-commit.outputs.dist-base }}/openslide-python-${version}.tar.gz"
tar xf "${{ needs.pre-commit.outputs.dist-base }}/openslide-python-${version}.tar"
xz -9 "${{ needs.pre-commit.outputs.dist-base }}/openslide-python-${version}.tar"
# extract changelog
awk -e '/^## / && ok {exit}' \
-e '/^## / {ok=1; next}' \
-e 'ok {print}' \
"openslide-python-$version/CHANGELOG.md" > changes
gh release create --latest --verify-tag \
--repo "${{ github.repository }}" \
--title "OpenSlide Python $version" \
--notes-file changes \
"${{ github.ref_name }}" \
"${{ needs.pre-commit.outputs.dist-base }}/"*

0 comments on commit 5cb7b3d

Please sign in to comment.