diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..60cebdd
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,68 @@
+name: Build
+
+on: [push, pull_request]
+
+env:
+ PYTEST_ADDOPTS: --color=yes
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Python
+ uses: actions/setup-python@v2
+ with:
+ python-version: '3.8'
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip setuptools wheel
+ pip install .[qa]
+ - name: Run Flake8
+ # Ignore F401, which are unused imports. flake8 is a primitive tool and is sometimes wrong.
+ run: flake8 --extend-ignore F401 parso test/*.py setup.py scripts/
+ - name: Run Mypy
+ run: mypy parso
+ test:
+ runs-on: ubuntu-latest
+ continue-on-error: ${{ matrix.experimental }}
+ strategy:
+ fail-fast: false
+ matrix:
+ python-version: ['3.6', '3.7', '3.8', '3.9']
+ experimental: [false]
+ include:
+ - python-version: '3.10-dev'
+ experimental: true
+ 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: |
+ python -m pip install --upgrade pip setuptools wheel
+ pip install .[testing]
+ - name: Run pytest
+ run: pytest
+ coverage:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Python
+ uses: actions/setup-python@v2
+ with:
+ python-version: '3.8'
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip setuptools wheel
+ pip install .[testing] coverage
+ - name: Run pytest with coverage
+ run: |
+ coverage run -m pytest
+ coverage report
+ - name: Upload coverage report
+ run: |
+ pip install --quiet coveralls
+ coveralls
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index c79c1c9..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-dist: xenial
-language: python
-python:
- - 3.6
- - 3.7
- - 3.8.2
- - nightly
-matrix:
- allow_failures:
- - python: nightly
- include:
- - python: 3.8
- install:
- - 'pip install .[qa]'
- script:
- # Ignore F401, which are unused imports. flake8 is a primitive tool and is sometimes wrong.
- - 'flake8 --extend-ignore F401 parso test/*.py setup.py scripts/'
- - mypy parso
- - python: 3.8.2
- script:
- - 'pip install coverage'
- - 'coverage run -m pytest'
- - 'coverage report'
- after_script:
- - |
- pip install --quiet coveralls
- coveralls
-install:
- - pip install .[testing]
-script:
- - pytest
diff --git a/README.rst b/README.rst
index 6a048e6..98abc73 100644
--- a/README.rst
+++ b/README.rst
@@ -3,9 +3,9 @@ parso - A Python Parser
###################################################################
-.. image:: https://travis-ci.org/davidhalter/parso.svg?branch=master
- :target: https://travis-ci.org/davidhalter/parso
- :alt: Travis CI build status
+.. image:: https://github.com/davidhalter/parso/workflows/Build/badge.svg?branch=master
+ :target: https://github.com/davidhalter/parso/actions
+ :alt: GitHub Actions build status
.. image:: https://coveralls.io/repos/github/davidhalter/parso/badge.svg?branch=master
:target: https://coveralls.io/github/davidhalter/parso?branch=master
diff --git a/docs/docs/development.rst b/docs/docs/development.rst
index 1332c66..e14a1e4 100644
--- a/docs/docs/development.rst
+++ b/docs/docs/development.rst
@@ -34,5 +34,5 @@ easy as::
python3.9 -m pytest
-Tests are also run automatically on `Travis CI
-`_.
+Tests are also run automatically on `GitHub Actions
+`_.
diff --git a/docs/index.rst b/docs/index.rst
index 50fb0a8..b390db3 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -27,5 +27,5 @@ Resources
---------
- `Source Code on Github `_
-- `Travis Testing `_
+- `GitHub Actions Testing `_
- `Python Package Index `_