Files
obsidian-metadata/.github/workflows/pypi-release.yml
2023-01-23 00:40:22 +00:00

57 lines
1.7 KiB
YAML

---
name: Publish to PyPi
on:
workflow_dispatch:
release:
types:
- published
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
publish-to-pypi:
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
python-version: ["3.11"]
steps:
- uses: step-security/harden-runner@18bf8ad2ca49c14cbb28b91346d626ccfb00c518 # v2.1.0
with:
egress-policy: block
disable-sudo: true
allowed-endpoints: >
api.github.com:443
files.pythonhosted.org:443
github.com:443
install.python-poetry.org:443
pypi.org:443
python-poetry.org:443
upload.pypi.org:443
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup Python and Poetry
uses: ./.github/actions/setup-poetry
# ----------------------------------------------
# Test and then build the package
# ----------------------------------------------
- name: run poetry build
run: |
poetry run poetry check
poetry run coverage run
# ----------------------------------------------
# Publish to PyPi
# ----------------------------------------------
- name: Publish
env:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
run: |
poetry config pypi-token.pypi $PYPI_TOKEN
poetry publish --build