From ec50919259dfbebc86fc3be1d6f412d0447e8c53 Mon Sep 17 00:00:00 2001 From: Justin Mayer Date: Mon, 3 Apr 2023 14:26:44 +0200 Subject: [PATCH] Switch test and deployment GitHub Actions CI --- .github/workflows/main.yml | 53 ++++++++++++++++++++++++++++++++++++++ pyproject.toml | 1 + 2 files changed, 54 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..36b6f5e --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,53 @@ +name: build + +on: [push, pull_request] + +jobs: + test: + name: Test + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.9" + + - name: Install dependencies + run: python -m pip install -r requirements/testing.txt + + - name: Run tests + run: coverage run --source=autoslug run_tests.py + + deploy: + name: Deploy + environment: Deployment + needs: test + runs-on: ubuntu-latest + if: github.ref=='refs/heads/main' && github.event_name!='pull_request' + + steps: + - uses: actions/checkout@v3 + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: "3.9" + + - name: Check release + id: check_release + run: | + python -m pip install poetry githubrelease httpx==0.18.2 autopub twine + echo "release=$(autopub check)" >> $GITHUB_OUTPUT + + - name: Publish + if: ${{ steps.check_release.outputs.release=='' }} + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + TWINE_USERNAME: "__token__" + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + run: | + git remote set-url origin https://$GITHUB_TOKEN@github.com/${{ github.repository }} + autopub deploy diff --git a/pyproject.toml b/pyproject.toml index 6e31f94..dcbefa6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,7 @@ changelog-file = "CHANGELOG.rst" changelog-header = "~~~~~~~~~" version-strings = ["autoslug/__init__.py"] tag-prefix = "v" +build-system = "setuptools" [build-system] requires = ["setuptools >= 40.6.0", "wheel"]