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"

View file

@ -1,29 +0,0 @@
# SPDX-License-Identifier: MIT
---
dist: bionic
language: python
env:
global:
- LSR_ANSIBLES='ansible==2.7.* ansible==2.8.* ansible==2.9.*'
- LSR_MSCENARIOS='default'
matrix:
include:
- python: 2.6
dist: trusty
- python: 2.7
- python: 3.6
- python: 3.7
- python: 3.8
- python: 3.8-dev
services:
- docker
before_install:
- ./.travis/preinstall
install:
- pip install tox tox-travis
script:
- ./.travis/runtox

View file

@ -1,7 +1,7 @@
linux-system-roles/network
==========================
[![Coverage Status](https://coveralls.io/repos/github/linux-system-roles/network/badge.svg)](https://coveralls.io/github/linux-system-roles/network)
[![Travis Build Status](https://travis-ci.com/linux-system-roles/network.svg?branch=main)](https://travis-ci.com/linux-system-roles/network)
![CI Testing](https://github.com/linux-system-roles/network/workflows/tox/badge.svg)
[![Code Style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/linux-system-roles/network.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/linux-system-roles/network/context:python)

View file

@ -197,12 +197,3 @@ disable = wrong-import-position
[pycodestyle]
max-line-length = 88
[travis]
python =
2.6: py26,coveralls,custom
2.7: py27,coveralls,flake8,pylint,custom
3.6: py36,coveralls,black,yamllint,custom,collection
3.7: py37,coveralls,custom
3.8: py38,coveralls,custom
3.8-dev: py38,coveralls,custom