diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 32f0b0380..4e502082b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -42,22 +42,32 @@ jobs: strategy: fail-fast: false matrix: - os: [macos-latest, windows-latest, ubuntu-latest] + include: + - os: windows-latest + py: 3.8 + - os: macos-latest + py: 3.8 + - os: ubuntu-latest + py: 3.8 + - os: ubuntu-latest + py: 3.7 + - os: ubuntu-latest + py: 3.6 runs-on: ${{ matrix.os }} steps: - run: printenv - uses: actions/checkout@v1 - uses: actions/setup-python@v1 with: - python-version: '3.8' + python-version: ${{ matrix.py }} - run: pip install tox - - run: tox -e py38 + - run: tox -e py - uses: codecov/codecov-action@v1 with: file: ./coverage.xml name: ${{ matrix.os }} fail_ci_if_error: false - test-py35: + test-unsupported-python-version: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 @@ -77,7 +87,7 @@ jobs: python-version: '3.8' - run: pip install tox - run: tox -e cibuild -- build - - uses: actions/upload-artifact@master + - uses: actions/upload-artifact@v2 with: name: wheel path: release/dist @@ -86,7 +96,7 @@ jobs: fail-fast: false matrix: # Old Ubuntu version for old glibc - os: [macos-latest, windows-latest, ubuntu-16.04] + os: [macos-10.15, windows-2019, ubuntu-16.04] runs-on: ${{ matrix.os }} env: CI_BUILD_PYINSTALLER: 1 @@ -105,7 +115,7 @@ jobs: - run: pip install tox - run: tox -e cibuild -- build # artifacts must have different names, see https://github.com/actions/upload-artifact/issues/24 - - uses: actions/upload-artifact@master + - uses: actions/upload-artifact@v2 with: name: binaries.${{ matrix.os }} path: release/dist @@ -165,7 +175,7 @@ jobs: with: python-version: '3.7' - run: pip install tox - - uses: actions/download-artifact@master + - uses: actions/download-artifact@v2 with: name: wheel path: release/dist @@ -189,23 +199,13 @@ jobs: - uses: actions/setup-python@v1 with: python-version: '3.8' - # artifacts must be downloaded individually, see https://github.com/actions/download-artifact/issues/6 - - uses: actions/download-artifact@master + - uses: actions/download-artifact@v2 with: - name: wheel - path: release/dist - - uses: actions/download-artifact@master - with: - name: binaries.windows-latest - path: release/dist - - uses: actions/download-artifact@master - with: - name: binaries.macos-latest - path: release/dist - - uses: actions/download-artifact@master - with: - name: binaries.ubuntu-16.04 path: release/dist + # move artifacts from their subfolders into release/dist + - run: find release/dist -mindepth 2 -type f -exec mv {} release/dist \; + # and then delete the empty folders + - run: find release/dist -type d -empty -delete - run: ls release/dist - run: pip install tox - run: tox -e cibuild -- upload diff --git a/setup.py b/setup.py index 0289a8b70..7bba8f7fc 100644 --- a/setup.py +++ b/setup.py @@ -90,6 +90,9 @@ setup( ':sys_platform == "win32"': [ "pydivert>=2.0.3,<2.2", ], + ':python_version == "3.6"': [ + "dataclasses>=0.7", + ], 'dev': [ "asynctest>=0.12.0", "Flask>=1.0,<1.2",