diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c19fb66..c342d4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,87 +7,46 @@ on: pull_request: jobs: - Windows: - name: 'Windows (${{ matrix.python }})' - timeout-minutes: 20 - runs-on: 'windows-latest' + test: strategy: fail-fast: false matrix: - python: ['3.8', '3.9', '3.10', '3.11', '3.12-dev'] + python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] + os: + - macos-latest + - windows-latest + - ubuntu-latest + include: + - python-version: pypy3.10 + os: ubuntu-latest + name: ${{ fromJson('{"macos-latest":"macOS","windows-latest":"Windows","ubuntu-latest":"Ubuntu"}')[matrix.os] }} (${{ matrix.python-version }}) + timeout-minutes: 20 + runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v4 - name: Setup python uses: actions/setup-python@v5 with: - python-version: '${{ matrix.python }}' + python-version: '${{ matrix.python-version }}' + allow-prereleases: true - name: Run tests run: ./ci.sh shell: bash - name: "Upload coverage data" uses: "actions/upload-artifact@v4" with: - name: coverage-data-windows-${{ matrix.python }} + name: coverage-data-${{ matrix.os }}-${{ matrix.python-version }} path: .coverage.* include-hidden-files: true if-no-files-found: ignore - Ubuntu: - name: 'Ubuntu (${{ matrix.python }})' - timeout-minutes: 10 - runs-on: 'ubuntu-latest' - strategy: - fail-fast: false - matrix: - python: ['3.8', '3.9', '3.10', '3.11', '3.12-dev', 'pypy3.9', 'pypy-3.10'] - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup python - uses: actions/setup-python@v5 - with: - python-version: '${{ matrix.python }}' - - name: Run tests - run: ./ci.sh - - name: "Upload coverage data" - uses: "actions/upload-artifact@v4" - with: - name: coverage-data-ubuntu-${{ matrix.python }} - path: .coverage.* - include-hidden-files: true - if-no-files-found: ignore - - macOS: - name: 'macOS (${{ matrix.python }})' - timeout-minutes: 10 - runs-on: 'macos-latest' - strategy: - fail-fast: false - matrix: - python: ['3.8', '3.9', '3.10', '3.11', '3.12-dev'] - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup python - uses: actions/setup-python@v5 - with: - python-version: '${{ matrix.python }}' - - name: Run tests - run: ./ci.sh - - name: "Upload coverage data" - uses: "actions/upload-artifact@v4" - with: - name: coverage-data-macos-${{ matrix.python }} - path: .coverage.* - include-hidden-files: true - if-no-files-found: ignore coverage: name: Combine & check coverage if: always() runs-on: "ubuntu-latest" - needs: ["Windows", "Ubuntu", "macOS"] + needs: test steps: - uses: actions/checkout@v4 diff --git a/setup.py b/setup.py index 6da15ce..872cc3a 100644 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ }, package_dir={'': 'src'}, url="https://github.com/python-trio/trustme", - python_requires=">=3.8", + python_requires=">=3.9", install_requires=[ "cryptography>=3.1", "idna>=2.0", @@ -32,11 +32,11 @@ "Programming Language :: Python :: Implementation :: PyPy", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Topic :: System :: Networking", "Topic :: Security :: Cryptography", "Topic :: Software Development :: Testing",