release #13
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 }}" | |
git push --atomic origin main refs/tags/v${{ 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 origin develop :${{ env.BRANCH }} | |
- name: Publish package to PyPI | |
uses: pypa/[email protected] | |
with: | |
password: ${{ secrets.PYPI_TOKEN }} | |
verbose: true |