diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..fa4d320 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,27 @@ +name: Release on PyPI + +on: + push: + tags: + - v* + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.8' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine + - name: Build and publish + env: + TWINE_USERNAME: __token__ + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + run: | + python setup.py sdist bdist_wheel + twine upload dist/* diff --git a/.github/workflows/tox-test.yml b/.github/workflows/tox-test.yml new file mode 100644 index 0000000..f6d51a9 --- /dev/null +++ b/.github/workflows/tox-test.yml @@ -0,0 +1,110 @@ +name: Tox tests + +on: [push, pull_request] + +jobs: + py27: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install RPM + run: | + sudo apt-get install -y rpm + sudo apt-get install -y libkrb5-dev + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: 2.7 + - name: Install Tox + run: pip install tox + - name: Run Tox + run: tox -e py27 + py38: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install RPM + run: | + sudo apt-get install -y rpm + sudo apt-get install -y libkrb5-dev + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: 3.8 + - name: Install Tox + run: pip install tox + - name: Run Tox + run: tox -e py38 + py39: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install RPM + run: | + sudo apt-get install -y rpm + sudo apt-get install -y libkrb5-dev + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install Tox + run: pip install tox + - name: Run Tox + run: tox -e py39 + static: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install RPM + run: | + sudo apt-get install -y rpm + sudo apt-get install -y libkrb5-dev + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install Tox + run: pip install tox + - name: Run Tox + run: tox -e static + coverage: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install RPM + run: | + sudo apt-get install -y rpm + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install Tox + run: pip install tox + - name: Run Tox + run: tox -e cov + - name: Install pytest cov + run: pip install pytest-cov + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v1.0.15 + with: + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: true + verbose: true + docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install RPM + run: | + sudo apt-get install -y rpm + sudo apt-get install -y libkrb5-dev + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install Tox + run: pip install tox + - name: Run Tox + run: | + tox -e docs + scripts/push-docs