Skip to content

Bump version: 2.0.0-beta.1 → 2.0.0 #3

Bump version: 2.0.0-beta.1 → 2.0.0

Bump version: 2.0.0-beta.1 → 2.0.0 #3

Workflow file for this run

name: CD
on:
workflow_dispatch:
push:
tags:
- 'v*'
branches:
- main
jobs:
dist:
name: Distribution build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build sdist and wheel
run: pipx run build
- uses: actions/upload-artifact@v3
with:
path: dist
- name: Check products
run: pipx run twine check dist/*
create-release:
runs-on: ubuntu-latest
needs: [dist]
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
steps:
- name: Determine release type
id: release-type
run: |
TAG=${GITHUB_REF#refs/tags/}
# Check if tag has additional segments after x.y.z
if [[ $TAG =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "prerelease=false" >> $GITHUB_OUTPUT
else
echo "prerelease=true" >> $GITHUB_OUTPUT
fi
- uses: actions/download-artifact@v3
with:
name: artifact
path: dist
- name: Create Release
uses: softprops/action-gh-release@v2
with:
draft: true
prerelease: ${{ steps.release-type.outputs.prerelease }}
files: dist/*
generate_release_notes: true
publish:
needs: [create-release]
name: Publish to PyPI
environment: pypi
permissions:
id-token: write
runs-on: ubuntu-latest
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
steps:
- uses: actions/download-artifact@v3
with:
name: artifact
path: dist
- uses: pypa/gh-action-pypi-publish@release/v1