release #15
Workflow file for this run
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
name: release | |
on: | |
workflow_dispatch: | |
inputs: | |
version: | |
description: "Release version" | |
required: true | |
type: string | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
env: | |
VERSION: ${{ github.event.inputs.version }} | |
BRANCH: releases/${{ github.event.inputs.version }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: releases/${{ github.event.inputs.version }} | |
ssh-key: ${{ secrets.USER_SSH_KEY }} | |
fetch-depth: 0 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.7" | |
- name: Set up Git | |
run: | | |
echo "${{ secrets.USER_GPG_KEY }}" | gpg --import | |
git config --add user.name "${{ secrets.USER_NAME }}" | |
git config --add user.email "${{ secrets.USER_MAIL }}" | |
git config --add user.signingkey "${{ secrets.USER_GPG_ID }}" | |
git config commit.gpgsign true | |
- name: Run build | |
run: | | |
pip install --upgrade hatch | |
hatch version ${{ env.VERSION }} | |
hatch --verbose build | |
- name: Merge release branch | |
run: | | |
git commit -am "Release ${{ env.VERSION }}: increment version" | |
git checkout main | |
git merge --no-ff ${{ env.BRANCH }} | |
git tag -a v${{ env.VERSION }} -m "Release ${{ env.VERSION }}" | |
# Try to merge back release branch | |
git checkout ${{ env.BRANCH }} | |
git merge --ff-only main | |
git checkout develop | |
git merge --no-ff ${{ env.BRANCH }} | |
git push --atomic origin main develop refs/tags/v${{ env.VERSION }} :${{ env.BRANCH }} | |
- name: Publish package to PyPI | |
uses: pypa/gh-action-pypi-publish@v1.5.2 | |
with: | |
password: ${{ secrets.PYPI_TOKEN }} | |
verbose: true |