Commit 43a82469 authored by Jens Vagelpohl's avatar Jens Vagelpohl Committed by GitHub

Merge pull request #175 from zopefoundation/dataflake/gh_actions

Switch from Travis CI to GitHub Actions for testing
parents 3111c7e0 b9588024
name: tests
on:
push:
pull_request:
schedule:
- cron: '0 12 * * 0' # run once a week on Sunday
jobs:
build:
strategy:
fail-fast: false
matrix:
config:
# [Python version, tox env]
- ["2.7", "py27"]
- ["2.7", "py27-msgpack1"]
- ["2.7", "py27-zeo4"]
- ["3.5", "py35"]
- ["3.5", "py35-zeo4"]
- ["3.6", "py36"]
- ["3.6", "py36-mtacceptor"]
- ["3.6", "py36-mtacceptor-msgpack1"]
- ["3.7", "py37"]
- ["3.7", "py37-mtacceptor"]
- ["3.7", "py37-mtacceptor-msgpack1"]
- ["3.7", "py37-uvloop"]
- ["pypy2", "pypy"]
- ["pypy3", "pypy3"]
- ["pypy3", "pypy3-mtacceptor"]
- ["pypy3", "pypy3-mtacceptor-msgpack1"]
runs-on: ubuntu-latest
name: ${{ matrix.config[1] }}
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.config[0] }}
- name: Pip cache
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.config[0] }}-${{ hashFiles('setup.*', 'tox.ini') }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.config[0] }}-
${{ runner.os }}-pip-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox
- name: Test
run: tox -e ${{ matrix.config[1] }}
- name: Coverage
if: matrix.config[1] == 'coverage'
run: |
pip install coveralls coverage-python-version
coveralls --service=github
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
language: python
matrix:
include:
- os: linux
python: 2.7
- os: linux
python: pypy
- os: linux
python: 3.5
- os: linux
python: 3.6
- os: linux
python: 3.6
env: ZEO_MTACCEPTOR=1
- os: linux
python: 3.6
env: ZEO_MSGPACK=1 ZEO_MTACCEPTOR=1
- os: linux
python: 3.7
env: ZEO_MTACCEPTOR=1
dist: xenial
- os: linux
python: 3.7
env: ZEO_MSGPACK=1 ZEO_MTACCEPTOR=1
dist: xenial
- os: linux
python: pypy3
env: ZEO_MTACCEPTOR=1
- os: linux
python: pypy3
env: ZEO_MSGPACK=1 ZEO_MTACCEPTOR=1
- os: linux
python: 2.7
env: ZEO_MSGPACK=1
- os: linux
python: 2.7
env: ZEO4_SERVER=1
- os: linux
python: 3.5
env: ZEO4_SERVER=1
- os: linux
python: 3.7
env: BUILOUT_OPTIONS=extra=,uvloop
install:
- pip install zc.buildout
- buildout $BUILOUT_OPTIONS
cache:
directories:
- eggs
script:
- bin/test -vv -j3
notifications:
email: false
[tox] [tox]
envlist = envlist =
py27,py35,py36,py37,pypy,pypy3,simple,docs py27
py35
py36
py37
pypy
pypy3
simple
docs
[testenv] [testenv]
commands = commands =
# Run unit tests first. # Run unit tests first.
zope-testrunner -u --test-path=src --auto-color --auto-progress {posargs} zope-testrunner -u --test-path=src {posargs:-vc}
# Only run functional tests if unit tests pass. # Only run functional tests if unit tests pass.
zope-testrunner -f --test-path=src --auto-color --auto-progress {posargs} zope-testrunner -f --test-path=src {posargs:-vc}
deps = deps =
ZODB >= 4.2.0b1 ZODB >= 4.2.0b1
random2 random2
...@@ -25,6 +32,50 @@ deps = ...@@ -25,6 +32,50 @@ deps =
# ZopeUndo is needed as soft-dependency for a regression test # ZopeUndo is needed as soft-dependency for a regression test
ZopeUndo ZopeUndo
[testenv:py27-msgpack1]
setenv =
ZEO_MSGPACK=1
[testenv:py27-zeo4]
setenv =
ZEO4_SERVER=1
[testenv:py35-zeo4]
setenv =
ZEO4_SERVER=1
[testenv:py36-mtacceptor]
setenv =
ZEO_MTACCEPTOR=1
[testenv:py36-mtacceptor-msgpack1]
setenv =
ZEO_MTACCEPTOR=1
ZEO_MSGPACK=1
[testenv:py37-mtacceptor]
setenv =
ZEO_MTACCEPTOR=1
[testenv:py37-mtacceptor-msgpack1]
setenv =
ZEO_MTACCEPTOR=1
ZEO_MSGPACK=1
[testenv:py37-uvloop]
deps =
{[testenv]deps}
uvloop
[testenv:pypy3-mtacceptor]
setenv =
ZEO_MTACCEPTOR=1
[testenv:pypy3-mtacceptor-msgpack1]
setenv =
ZEO_MTACCEPTOR=1
ZEO_MSGPACK=1
[testenv:simple] [testenv:simple]
# Test that 'setup.py test' works # Test that 'setup.py test' works
basepython = basepython =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment