diff --git a/.github/workflows/test_min_reqs.yml b/.github/workflows/test_min_reqs.yml new file mode 100644 index 00000000..183a84f5 --- /dev/null +++ b/.github/workflows/test_min_reqs.yml @@ -0,0 +1,101 @@ +# This workflow will test that the minimum requirements for each supported Python version work correctly + +name: Test Minimum Requirements + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build_test_py37_38_39: + strategy: + fail-fast: false + matrix: + python-version: ["3.7", "3.8", "3.9"] # Same minimum requirements + os: + - ubuntu-latest + - macOS-latest + - windows-latest + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + - name: Install minimum dependencies + run: | + python -m pip install --upgrade pip + pip install cbor2==5.1.2 + pip install coincurve==15.0.1 + pip install crcmod==1.7 + pip install ecdsa==0.17 + pip install ed25519-blake2b==1.4 + pip install pycryptodome==3.15 + pip install pynacl==1.5 + pip install py-sr25519-bindings==0.1.3 + - name: Run tests + run: | + pytest + + build_test_py310: + strategy: + fail-fast: false + matrix: + os: + - ubuntu-latest + - macOS-latest + - windows-latest + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: 3.10 + - name: Install minimum dependencies + run: | + python -m pip install --upgrade pip + pip install cbor2==5.1.2 + pip install coincurve==16.0.0 + pip install crcmod==1.7 + pip install ecdsa==0.17 + pip install ed25519-blake2b==1.4 + pip install pycryptodome==3.15 + pip install pynacl==1.5 + pip install py-sr25519-bindings==0.1.4 + - name: Run tests + run: | + pytest + + build_test_py311: + strategy: + fail-fast: false + matrix: + os: + - ubuntu-latest + - macOS-latest + - windows-latest + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Set up Python 3.11 + uses: actions/setup-python@v3 + with: + python-version: 3.11 + - name: Install minimum dependencies + run: | + python -m pip install --upgrade pip + pip install cbor2==5.1.2 + pip install coincurve==18.0.0 + pip install crcmod==1.7 + pip install ecdsa==0.17 + pip install ed25519-blake2b==1.4 + pip install pycryptodome==3.15 + pip install pynacl==1.5 + pip install py-sr25519-bindings==0.2.0 + - name: Run tests + run: | + pytest