diff --git a/.github/workflows/cron-conda.yml b/.github/workflows/cron-conda.yml index c43dbd5a3..02e7e9c0f 100644 --- a/.github/workflows/cron-conda.yml +++ b/.github/workflows/cron-conda.yml @@ -19,7 +19,7 @@ jobs: - uses: actions/setup-python@v7 with: - python-version: '3.10' + python-version: '3.14' - name: Install and Setup run: | diff --git a/.github/workflows/python-compatibility.yml b/.github/workflows/python-compatibility.yml new file mode 100644 index 000000000..2c699b3f8 --- /dev/null +++ b/.github/workflows/python-compatibility.yml @@ -0,0 +1,49 @@ +name: "Python Compatibility" + +on: + push: + branches: [main, ] + pull_request: + branches: [main] + schedule: + - cron: '0 4 * * 6' + +permissions: + contents: read + +jobs: + compatibility: + name: Python ${{ matrix.python-version }} + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental == true }} + strategy: + fail-fast: false + matrix: + python-version: + - "3.10" + - "3.11" + - "3.12" + - "3.13" + - "3.14" + experimental: + - false + include: + - python-version: "3.15" + experimental: true + steps: + - uses: actions/checkout@v7 + + - uses: actions/setup-python@v7 + with: + python-version: ${{ matrix.python-version }} + allow-prereleases: ${{ matrix.experimental }} + + - name: Install package + run: | + python -m pip install -U pip setuptools wheel + python -m pip install -e . + + - name: Verify package + run: | + python -m compileall -q pcapkit + python -c 'import pcapkit; print(pcapkit.__version__)' diff --git a/pyproject.toml b/pyproject.toml index 8dc79586d..d1bc5d763 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,6 +41,9 @@ classifiers = [ "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", + "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy",