diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..16cf1af --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,32 @@ +name: Publish package to PyPI + +on: + push: + tags: + - v* + workflow_dispatch: + +permissions: + contents: read + +jobs: + publish: + runs-on: ubuntu-latest + permissions: + # IMPORTANT: this permission is mandatory for trusted publishing + id-token: write + + steps: + - name: Run tests + uses: ./.github/workflows/tests + + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Python + uses: pdm-project/setup-pdm@v3 + with: + cache: true + + - name: Publish package distributions to PyPI + run: pdm publish diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 51054e1..fa29768 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,6 +7,7 @@ on: pull_request: branches: - main + workflow_call: workflow_dispatch: permissions: @@ -18,11 +19,12 @@ concurrency: cancel-in-progress: true jobs: - code_analysis: + code-analysis: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 + - name: Analyze code uses: chartboost/ruff-action@v1