Repository: pytransitions/transitions (language: python)

Issue:
Migrating testing away from travis-ci.org
Travis is moving resources from travis-ci.org (open source platform) to travis-ci.com (their 'pro' platform). It now takes hours for a 5 minute test to run on travis-ci.org. One option would be to migrate the repos to travis-ci.com. However, what I really liked about travis-ci.org was that is did not require many repository permissions to operate. Travis-ci.com wants the full package: full access to all repositories. Should we instead migrate to Github Actions? CircleCi? Any suggestions?

I'd prefer a CI service that does not want me to hand over full writing permissions when simple hooks should be enough.




Discussion / hints:
I've mostly moved to GHA out of convenience and have been mostly satisfied. The ability to store artifacts (e.g. log files) has been convenient.  I think `travis-ci.com` supports this in some fashion but Travis always annoyed me so much in little ways that I've had no regrets.

No strong technical motivation though.

Fix patch:
diff --git a/.coveragerc b/.coveragerc
index 498f9662..1956889e 100644
--- a/.coveragerc
+++ b/.coveragerc
@@ -1,3 +1,4 @@
 [run]
 source = transitions
-include = */transitions/*
\ No newline at end of file
+include = */transitions/*
+relative_files = True
diff --git a/.scrutinizer.yml b/.scrutinizer.yml
deleted file mode 100644
index 3c00b4ff..00000000
--- a/.scrutinizer.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-checks:
-    python:
-        code_rating: true
-        duplicate_code: true
-build:
-    tests:
-        override:
-             -  pylint-run transitions
-filter:
-    excluded_paths:
-        - tests/*
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 82dcb6e4..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-language: python
-cache: pip
-python:
-  - "2.7"
-  - "3.6"
-  - "3.7"
-  - "3.8"
-  - "3.9"
-install:
-  - pip install python-coveralls 'coverage<5'
-  - pip install -r requirements.txt
-  - pip install -r requirements_diagrams.txt
-  - pip install -U -r requirements_test.txt
-script: pytest -nauto --doctest-modules --cov transitions/
-after_success:
-  - coveralls --ignore-errors --config_file .coveragerc
-addons:
-  apt:
-    packages:
-      - graphviz
diff --git a/README.md b/README.md
index 00ff6d33..4ef8b1e7 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # <a name="transitions-module"></a> transitions
 [![Version](https://img.shields.io/badge/version-v0.8.8-orange.svg)](https://github.com/pytransitions/transitions)
-[![Build Status](https://travis-ci.org/pytransitions/transitions.svg?branch=master)](https://travis-ci.org/pytransitions/transitions)
+[![Build Status](https://github.com/pytransitions/transitions/actions/workflows/pytest.yml/badge.svg)](https://github.com/pytransitions/transitions/actions?query=workflow%3Apytest)
 [![Coverage Status](https://coveralls.io/repos/pytransitions/transitions/badge.svg?branch=master&service=github)](https://coveralls.io/github/pytransitions/transitions?branch=master)
 [![PyPi](https://img.shields.io/pypi/v/transitions.svg)](https://pypi.org/project/transitions)
 [![GitHub commits](https://img.shields.io/github/commits-since/pytransitions/transitions/0.8.7.svg)](https://github.com/pytransitions/transitions/compare/0.8.7...master)


Test patch:
diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml
new file mode 100644
index 00000000..d81a7fed
--- /dev/null
+++ b/.github/workflows/pytest.yml
@@ -0,0 +1,47 @@
+# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
+# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
+
+name: pytest
+
+on:
+  push:
+    branches: [ master, dev-gha ]
+  pull_request:
+    branches: [ master ]
+
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        python-version: [2.7, 3.7, 3.8, 3.9]
+
+    steps:
+    - uses: actions/checkout@v2
+    - name: Set up Python ${{ matrix.python-version }}
+      uses: actions/setup-python@v2
+      with:
+        python-version: ${{ matrix.python-version }}
+    - name: Install dependencies
+      run: |
+        sudo apt-get install libgraphviz-dev graphviz
+        python -m pip install --upgrade pip
+        python -m pip install -r requirements.txt -r requirements_diagrams.txt 
+        python -m pip install -U -r requirements_test.txt
+    - name: Test with pytest
+      run: |
+        coverage run --source=transitions -m pytest --doctest-modules tests/
+    - name: Coveralls
+      uses: AndreMiras/coveralls-python-action@develop
+      with:
+        parallel: true
+        flag-name: Test with pytest
+      
+  coveralls_finish:
+    needs: test
+    runs-on: ubuntu-latest
+    steps:
+    - name: Coveralls Finished
+      uses: AndreMiras/coveralls-python-action@develop
+      with:
+        parallel-finished: true