mirror of
https://github.com/outbackdingo/patroni.git
synced 2026-08-25 14:53:37 +00:00
1. Fix flaky behave tests with zookeeper. First, install/start binaries (zookeeper/localkube) and only after that continue with installing requirements and running behave. Previously zookeeper didn't had enough time to start and tests sometimes were failing. 2. Fix flaky raft tests. Despite observations of MacOS slowness, for some unknown reason the delete test with a very small timeout was not timing out, but succeeding, causing unit-tests to fail. The solution - do not rely on the actual timeout, but mock it.
176 lines
5.0 KiB
YAML
176 lines
5.0 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- master
|
|
tags:
|
|
- v.*
|
|
|
|
jobs:
|
|
unit:
|
|
runs-on: ${{ matrix.os }}-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu, windows, macos]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: Set up Python 2.7
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 2.7
|
|
if: matrix.os != 'windows'
|
|
- name: Install dependencies
|
|
run: python .github/workflows/install_deps.py
|
|
if: matrix.os != 'windows'
|
|
- name: Run tests and flake8
|
|
run: python .github/workflows/run_tests.py
|
|
if: matrix.os != 'windows'
|
|
|
|
- name: Set up Python 3.5
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.5
|
|
- name: Install dependencies
|
|
run: python .github/workflows/install_deps.py
|
|
- name: Run tests and flake8
|
|
run: python .github/workflows/run_tests.py
|
|
|
|
- name: Set up Python 3.6
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.6
|
|
- name: Install dependencies
|
|
run: python .github/workflows/install_deps.py
|
|
- name: Run tests and flake8
|
|
run: python .github/workflows/run_tests.py
|
|
|
|
- name: Set up Python 3.7
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.7
|
|
- name: Install dependencies
|
|
run: python .github/workflows/install_deps.py
|
|
- name: Run tests and flake8
|
|
run: python .github/workflows/run_tests.py
|
|
|
|
- name: Set up Python 3.8
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.8
|
|
- name: Install dependencies
|
|
run: python .github/workflows/install_deps.py
|
|
- name: Run tests and flake8
|
|
run: python .github/workflows/run_tests.py
|
|
|
|
- name: Set up Python 3.9
|
|
uses: actions/setup-python@v2
|
|
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: Combine coverage
|
|
run: python .github/workflows/run_tests.py combine
|
|
|
|
- name: Install coveralls
|
|
run: python -m pip install coveralls
|
|
|
|
- name: Upload Coverage
|
|
env:
|
|
COVERALLS_FLAG_NAME: unit-${{ matrix.os }}
|
|
COVERALLS_PARALLEL: 'true'
|
|
GITHUB_TOKEN: ${{ secrets.github_token }}
|
|
run: python -m coveralls --service=github
|
|
|
|
- name: Run codacy-coverage-reporter
|
|
uses: codacy/codacy-coverage-reporter-action@master
|
|
env:
|
|
SECRETS_AVAILABLE: ${{ secrets.CODACY_PROJECT_TOKEN != '' }}
|
|
with:
|
|
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
|
coverage-reports: coverage.xml
|
|
if: ${{ matrix.os == 'ubuntu' && env.SECRETS_AVAILABLE == 'true' }}
|
|
|
|
behave:
|
|
runs-on: ${{ matrix.os }}-latest
|
|
env:
|
|
DCS: ${{ matrix.dcs }}
|
|
ETCDVERSION: 3.3.13
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu]
|
|
python-version: [2.7, 3.5, 3.8]
|
|
dcs: [etcd, etcd3, consul, exhibitor, kubernetes, raft]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- name: Install dependencies
|
|
run: python .github/workflows/install_deps.py
|
|
- name: Run behave tests
|
|
run: python .github/workflows/run_tests.py
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.9
|
|
- name: Install coveralls
|
|
run: python -m pip install coveralls
|
|
- name: Upload Coverage
|
|
env:
|
|
COVERALLS_FLAG_NAME: behave-${{ matrix.os }}-${{ matrix.dcs }}-${{ matrix.python-version }}
|
|
COVERALLS_PARALLEL: 'true'
|
|
GITHUB_TOKEN: ${{ secrets.github_token }}
|
|
run: python -m coveralls --service=github
|
|
|
|
behavem:
|
|
runs-on: ${{ matrix.os }}-latest
|
|
env:
|
|
DCS: ${{ matrix.dcs }}
|
|
ETCDVERSION: 3.3.13
|
|
PGVERSION: 12.1-1 # for windows and macos
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [macos] #, windows]
|
|
python-version: [3.7]
|
|
dcs: [etcd, etcd3, raft]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- name: Install dependencies
|
|
run: python .github/workflows/install_deps.py
|
|
- name: Run behave tests
|
|
run: python .github/workflows/run_tests.py
|
|
- name: Install coveralls
|
|
run: python -m pip install coveralls
|
|
- name: Upload Coverage
|
|
env:
|
|
COVERALLS_FLAG_NAME: behave-${{ matrix.os }}-${{ matrix.dcs }}-${{ matrix.python-version }}
|
|
COVERALLS_PARALLEL: 'true'
|
|
GITHUB_TOKEN: ${{ secrets.github_token }}
|
|
run: python -m coveralls --service=github
|
|
|
|
coveralls-finish:
|
|
name: Finalize coveralls.io
|
|
needs: [unit, behave, behavem]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/setup-python@v2
|
|
- run: python -m pip install coveralls
|
|
- run: python -m coveralls --service=github --finish
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.github_token }}
|