From 489eed4c4f22d2c3299674935129036567d1b6ec Mon Sep 17 00:00:00 2001 From: Christian Hill Date: Mon, 1 Aug 2022 12:42:41 +0200 Subject: [PATCH] Add GitHub workflows to automate PyPI releases --- .github/workflows/pypi-deploy.yml | 31 ++++++++++++++++++++++++++++++ .github/workflows/tests.yml | 32 +++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 .github/workflows/pypi-deploy.yml create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/pypi-deploy.yml b/.github/workflows/pypi-deploy.yml new file mode 100644 index 0000000..ad482a0 --- /dev/null +++ b/.github/workflows/pypi-deploy.yml @@ -0,0 +1,31 @@ +name: pypi-deploy + +on: + release: + types: [published] + +jobs: + deploy: + name: Build and deploy the package to PyPI + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: "3.9" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install --upgrade build + pip install --upgrade twine + - name: Build package + run: | + python -m build --outdir dist/ + twine check dist/* + - name: Publish package + uses: pypa/gh-action-pypi-publish@master + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} + verbose: true diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..789030b --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,32 @@ +name: tests + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build-n-test: + name: Install and test the package + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: "3.9" + - name: Install the package locally + run: | + python -m pip install --upgrade pip + pip install . + - name: Install dependencies for testing + run: | + pip install pytest-cov + pip install black + - name: Test with pytest + run: | + pytest --cov + - name: Check code format + run: | + black --check .