This repository has been archived by the owner on Oct 8, 2024. It is now read-only.
Update README.md #82
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test workflow | |
on: | |
push: | |
branches: [ master, main, release ] | |
pull_request: | |
branches: [ master, main, release ] | |
workflow_dispatch: | |
jobs: | |
test: | |
strategy: | |
matrix: | |
python-version: [3.9, 3.8] | |
os: [ubuntu-20.04] | |
include: | |
- python-version: 3.9 | |
os: ubuntu-20.04 | |
publish-results: true | |
tox-full-run: true | |
runs-on: ${{ matrix.os }} | |
services: | |
postgres: | |
image: postgres:14 | |
env: | |
POSTGRES_PASSWORD: example | |
POSTGRES_USER: user1 | |
PGDATA: /srv | |
ports: | |
- 5432:5432 | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install poetry tox tox-gh-actions | |
poetry install | |
- name: Test with tox | |
if: ${{ !matrix.tox-full-run }} | |
env: | |
PYTESTTARGETS: tests integration_tests | |
run: | |
poetry run tox -e test | |
- name: Lint and test with tox | |
if: ${{ matrix.tox-full-run }} | |
env: | |
PYTESTTARGETS: tests integration_tests | |
run: | |
poetry run tox | |
- name: list files | |
if: ${{ always() }} | |
run: ls -l . | |
- name: Publish Test Results | |
if: ${{ matrix.publish-results && always() }} | |
uses: EnricoMi/publish-unit-test-result-action/composite@v1 | |
with: | |
files: pytest.xml | |
- uses: codecov/codecov-action@v1 | |
if: ${{ matrix.publish-results && always() }} | |
with: | |
fail_ci_if_error: true | |
files: coverage.xml | |
cross_platform_test: | |
needs: test | |
strategy: | |
matrix: | |
python-version: [3.9, 3.8] | |
os: [windows-latest, macos-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install poetry tox tox-gh-actions | |
poetry install | |
- name: Test with tox | |
run: | |
poetry run tox -e test | |
publish_dev_build: | |
# if test failed, we should not publish | |
needs: [test, cross_platform_test] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: 3.9 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install poetry | |
poetry install | |
- name: list files | |
run: ls -l . | |
- name: Build wheels and source tarball | |
run: | | |
poetry version $(poetry version --short)-dev.$GITHUB_RUN_NUMBER | |
poetry version --short | |
poetry build | |
- name: publish to Test PyPI | |
uses: pypa/gh-action-pypi-publish@master | |
with: | |
user: __token__ | |
password: ${{ secrets.TEST_PYPI_API_TOKEN}} | |
repository_url: https://test.pypi.org/legacy/ | |
skip_existing: true |