mirror of
https://github.com/outbackdingo/patroni.git
synced 2026-01-27 18:20:05 +00:00
* remove check_psycopg() call from the setup.py, when installing from wheel it doesn't work anyway. * call check_psycopg() function before process_arguments(), because the last one is trying to import psycopg and fails with the stacktrace, while the first one shows a nice human-readable error message. * add psycopg2, psycopg2-binary, and psycopg3 extras, that will install psycopg2>=2.5.4, psycopg2-binary, or psycopg[binary]>=3.0.0 modules respectively. * move check_psycopg() function to the __main__.py. * introduce the new extra called `all`, it will allow to install all dependencies at once (except psycopg related). * use the `build` module in order to create sdist bdist_wheel packages. * update the documentation regarding psycopg and extras (dependencies).
45 lines
1.2 KiB
YAML
45 lines
1.2 KiB
YAML
name: Publish Patroni distributions to PyPI and TestPyPI
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v[0-9]+.[0-9]+.[0-9]+'
|
|
release:
|
|
types:
|
|
- published
|
|
jobs:
|
|
build-n-publish:
|
|
name: Build and publish Patroni distributions to PyPI and TestPyPI
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
|
|
- name: Set up Python 3.9
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.9
|
|
|
|
- name: Install dependencies
|
|
run: python .github/workflows/install_deps.py
|
|
|
|
- name: Run tests and flake8
|
|
run: python .github/workflows/run_tests.py
|
|
|
|
- name: Install Python packaging build frontend
|
|
run: python -m pip install build
|
|
|
|
- name: Build a binary wheel and a source tarball
|
|
run: python -m build
|
|
|
|
- name: Publish distribution to Test PyPI
|
|
if: github.event_name == 'push'
|
|
uses: pypa/gh-action-pypi-publish@v1.5.1
|
|
with:
|
|
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
|
|
repository_url: https://test.pypi.org/legacy/
|
|
|
|
- name: Publish distribution to PyPI
|
|
if: github.event_name == 'release'
|
|
uses: pypa/gh-action-pypi-publish@v1.5.1
|
|
with:
|
|
password: ${{ secrets.PYPI_API_TOKEN }}
|