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"