diff --git a/.github/workflows/Future.yml b/.github/workflows/Future.yml new file mode 100644 index 000000000..39146533b --- /dev/null +++ b/.github/workflows/Future.yml @@ -0,0 +1,57 @@ +# 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: Future + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: + [3.6, 3.7, 3.8, 3.9, "3.10.0-beta.3"] + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 9999 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies and prepare tests + run: | + set -x + python -m pip install --upgrade pip + python --version; git --version + git submodule update --init --recursive + git fetch --tags + + pip install -r dev-requirements.txt + TRAVIS=yes ./init-tests-after-clone.sh + + git config --global user.email "travis@ci.com" + git config --global user.name "Travis Runner" + # If we rewrite the user's config by accident, we will mess it up + # and cause subsequent tests to fail + cat test/fixtures/.gitconfig >> ~/.gitconfig + + - name: Test with pytest + run: | + set -x + pip install -r dev-requirements.txt + pytest --cov --cov-report=term-missing:skip-covered + # --cov-report=html:test/coverage + continue-on-error: true + + + + + diff --git a/dev-requirements.txt b/dev-requirements.txt new file mode 100644 index 000000000..abb677d00 --- /dev/null +++ b/dev-requirements.txt @@ -0,0 +1,10 @@ +ddt>=1.1.1 +coverage +flake8 +flake8-type-checking;python_version>="3.8" +tox +mypy +pytest +pytest-cov +gitdb>=4.0.1,<5 +typing-extensions>=3.7.4.3;python_version<"3.10" diff --git a/test-requirements.txt b/test-requirements.txt index ab3f86109..a8a3a1527 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -3,6 +3,6 @@ coverage flake8 tox virtualenv -nose +nose;python_version<"3.10" gitdb>=4.0.1,<5 typing-extensions>=3.7.4.3;python_version<"3.10"