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 `_