pyhamtools/.github/workflows/test.yml
2022-05-12 01:45:40 +02:00

99 lines
3.3 KiB
YAML

name: Linux
on: [push, pull_request]
jobs:
test_linux:
runs-on: "ubuntu-latest"
name: "Ubuntu latest - Python ${{ matrix.python-version }}"
env:
USING_COVERAGE: '3.10'
strategy:
matrix:
python-version: ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "pypy2"]
redis-version: [6]
steps:
- uses: "actions/checkout@v2"
- uses: "actions/setup-python@v2"
with:
python-version: "${{ matrix.python-version }}"
- name: "Install dependencies"
run: |
set -xe
python -VV
python -m pip install --upgrade pip setuptools wheel codecov
python -m pip install -e .
python -m pip install -r requirements-pytest.txt
python -m pip install -r requirements-docs.txt
- name: Start Redis
uses: supercharge/redis-github-action@1.2.0
with:
redis-version: ${{ matrix.redis-version }}
- name: "Run tests for ${{ matrix.python-version }}"
env:
CLUBLOG_APIKEY: ${{ secrets.CLUBLOG_APIKEY }}
QRZ_USERNAME: ${{ secrets.QRZ_USERNAME }}
QRZ_PWD: ${{ secrets.QRZ_PWD }}
PYTHON_VERSION: ${{ matrix.python-version }}
# delay the execution randomly by 1-20sec to reduce the
# amount of concurrent API calls on Clublog and QRZ.com
# when all CI jobs execute simultaniously
run: |
sleep $[ ( $RANDOM % 20 ) + 1 ]s
pytest --cov=./
if [[ $PYTHON_VERSION == 3.10 ]]; then codecov; fi
if [[ $PYTHON_VERSION == 3.10 ]]; then cd docs && make html; fi
# publish_package:
# runs-on: "ubuntu-latest"
# needs: ["test_linux"]
# if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
# steps:
# - name: Publish package
# uses: pypa/gh-action-pypi-publish@release/v1
# with:
# user: __token__
# password: ${{ secrets.PYPI_API_TOKEN }}
# test_windows:
# runs-on: "windows-latest"
# name: "Windows latest - Python ${{ matrix.python-version }}"
# env:
# USING_COVERAGE: '3.9'
# strategy:
# matrix:
# python-version: ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9"]
# redis-version: ["6.2"]
# steps:
# - uses: "actions/checkout@v2"
# - uses: "actions/setup-python@v2"
# with:
# python-version: "${{ matrix.python-version }}"
# - name: "Install dependencies"
# run: |
# python -VV
# python -m pip install --upgrade pip setuptools wheel codecov
# python -m pip install -e .
# python -m pip install -r requirements-pytest.txt
# python -m pip install -r requirements-docs.txt
# - name: Setup redis
# uses: shogo82148/actions-setup-redis@v1
# with:
# redis-version: ${{ matrix.redis-version }}
# - name: "Run tests for ${{ matrix.python-version }}"
# env:
# CLUBLOG_APIKEY: ${{ secrets.CLUBLOG_APIKEY }}
# QRZ_USERNAME: ${{ secrets.QRZ_USERNAME }}
# QRZ_PWD: ${{ secrets.QRZ_PWD }}
# PYTHON_VERSION: ${{ matrix.python-version }}
# # delay the execution randomly by 1-20sec to reduce the
# # amount of concurrent API calls on Clublog and QRZ.com
# # when all CI jobs execute simultaniously
# run: |
# pytest