use github actions instead of travis

adds a github actions tox workflow for CI testing, since
travis is discontinuing support for open source projects

Signed-off-by: Rich Megginson <rmeggins@redhat.com>
This commit is contained in:
Rich Megginson 2020-12-09 20:15:07 -07:00 committed by Gris Ge
parent 899edea426
commit c64b3b15ba
4 changed files with 75 additions and 39 deletions

74
.github/workflows/tox.yml vendored Normal file
View file

@ -0,0 +1,74 @@
# yamllint disable rule:line-length
name: tox
on: # yamllint disable-line rule:truthy
- pull_request
jobs:
python:
runs-on: ubuntu-latest
strategy:
matrix:
pyver: ['2.7', '3.6', '3.7', '3.8']
steps:
- name: checkout PR
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.pyver }}
- name: Install platform dependencies
run: |
set -euxo pipefail
.travis/preinstall
- name: Install pip, tox, python dependencies
run: |
set -euxo pipefail
python -m pip install --upgrade pip
pip install tox
- name: Run tox tests
run: |
set -euxo pipefail
toxpyver=$(echo "${{ matrix.pyver }}" | tr -d .)
toxenvs="py${toxpyver}"
case "$toxpyver" in
27) toxenvs="${toxenvs},coveralls,flake8,pylint,custom" ;;
36) toxenvs="${toxenvs},coveralls,black,yamllint,custom,collection" ;;
37) toxenvs="${toxenvs},coveralls,custom" ;;
38) toxenvs="${toxenvs},coveralls,custom" ;;
esac
TOXENV="$toxenvs" .travis/runtox
env:
LSR_ANSIBLES: 'ansible==2.7.* ansible==2.8.* ansible==2.9.*'
LSR_MSCENARIOS: default
python-26:
runs-on: ubuntu-16.04
steps:
- name: checkout PR
uses: actions/checkout@v2
- name: Install python, dependencies
run: |
set -euo pipefail
curl -sSf --retry 5 -o python-2.6.tar.bz2 ${PY26URL}
sudo tar xjf python-2.6.tar.bz2 --directory /
myuid=$(id -u)
mygid=$(id -g)
sudo chown -R $myuid:$mygid /home/travis/virtualenv
source /home/travis/virtualenv/python2.6/bin/activate
set -x
python --version
pip --version
.travis/preinstall
sudo pip install 'tox<3' 'virtualenv==15.*' 'pluggy==0.5.*'
sudo pip list
env:
PY26URL: https://storage.googleapis.com/travis-ci-language-archives/python/binaries/ubuntu/14.04/x86_64/python-2.6.tar.bz2
VIRTUAL_ENV_DISABLE_PROMPT: "true"
- name: Run tox tests
run: |
set -euo pipefail
source /home/travis/virtualenv/python2.6/bin/activate
set -x
tox -e py26,coveralls,custom
env:
LSR_ANSIBLES: 'ansible==2.7.* ansible==2.8.* ansible==2.9.*'
LSR_MSCENARIOS: default
VIRTUAL_ENV_DISABLE_PROMPT: "true"