diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 229153b..b782c0a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -128,7 +128,7 @@ jobs: echo "dir=$(pip cache dir)" >>$GITHUB_OUTPUT - name: pip cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ steps.pip-cache.outputs.dir }} key: ${{ runner.os }}-pip-${{ matrix.python-version }} @@ -142,9 +142,8 @@ jobs: pip install -U setuptools wheel twine # cffi will probably have no public release until a Python 3.13 beta # or even RC release, see https://github.com/python-cffi/cffi/issues/23 - pip install -U "cffi @ https://github.com/python-cffi/cffi/archive/refs/heads/main.zip" - # twine has no release for 3.13, yet, see https://github.com/pypa/twine/issues/1030 - pip install -U "git+https://github.com/pypa/twine.git#egg=twine" + echo "cffi @ git+https://github.com/python-cffi/cffi.git@954cab4f889fb019a7f90df153ee1be501495f58" > cffi_constraint.txt + PIP_CONSTRAINT=cffi_constraint.txt pip install cffi - name: Install Build Dependencies if: matrix.python-version != '3.13.0-alpha - 3.13.0' run: | @@ -194,9 +193,12 @@ jobs: if: matrix.python-version == '3.13.0-alpha - 3.13.0' run: | # Install to collect dependencies into the (pip) cache. + # cffi will probably have no public release until a Python 3.13 beta + # or even RC release, see https://github.com/python-cffi/cffi/issues/23 + echo "cffi @ git+https://github.com/python-cffi/cffi.git@954cab4f889fb019a7f90df153ee1be501495f58" > cffi_constraint.txt # Use "--pre" here because dependencies with support for this future # Python release may only be available as pre-releases - pip install --pre .[test] + PIP_CONSTRAINT=cffi_constraint.txt pip install --pre .[test] - name: Install ExtensionClass and dependencies if: matrix.python-version != '3.13.0-alpha - 3.13.0' run: | @@ -287,7 +289,7 @@ jobs: echo "dir=$(pip cache dir)" >>$GITHUB_OUTPUT - name: pip cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ steps.pip-cache.outputs.dir }} key: ${{ runner.os }}-pip-${{ matrix.python-version }} @@ -305,7 +307,7 @@ jobs: pip install -U wheel setuptools # cffi will probably have no public release until a beta or even RC # version of Python 3.13, see https://github.com/python-cffi/cffi/issues/23 - pip install -U 'cffi @ https://github.com/python-cffi/cffi/archive/refs/heads/main.zip ; platform_python_implementation == "CPython"' + echo 'cffi @ git+https://github.com/python-cffi/cffi.git@954cab4f889fb019a7f90df153ee1be501495f58 ; platform_python_implementation == "CPython"' > cffi_constraint.txt # coverage has a wheel on PyPI for a future python version which is # not ABI compatible with the current one, so build it from sdist: pip install -U --no-binary :all: coverage @@ -315,7 +317,7 @@ jobs: unzip -n dist/ExtensionClass-*whl -d src # Use "--pre" here because dependencies with support for this future # Python release may only be available as pre-releases - pip install --pre -U -e .[test] + PIP_CONSTRAINT=cffi_constraint.txt pip install --pre -U -e .[test] - name: Install ExtensionClass if: ${{ !startsWith(matrix.python-version, '3.13.0-alpha - 3.13.0') }} run: | @@ -382,7 +384,7 @@ jobs: echo "dir=$(pip cache dir)" >>$GITHUB_OUTPUT - name: pip cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ steps.pip-cache.outputs.dir }} key: ${{ runner.os }}-pip-${{ matrix.python-version }} @@ -435,7 +437,7 @@ jobs: echo "dir=$(pip cache dir)" >>$GITHUB_OUTPUT - name: pip cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ steps.pip-cache.outputs.dir }} key: ${{ runner.os }}-pip_manylinux-${{ matrix.image }}-${{ matrix.python-version }} diff --git a/.meta.toml b/.meta.toml index 4c46ea7..493a0df 100644 --- a/.meta.toml +++ b/.meta.toml @@ -2,7 +2,7 @@ # https://github.com/zopefoundation/meta/tree/master/config/c-code [meta] template = "c-code" -commit-id = "43bd5905" +commit-id = "fc37b50c" [python] with-appveyor = true diff --git a/tox.ini b/tox.ini index b041329..120acd9 100644 --- a/tox.ini +++ b/tox.ini @@ -54,7 +54,7 @@ deps = commands_pre = commands = check-manifest - check-python-versions + check-python-versions --only setup.py,tox.ini,.github/workflows/tests.yml python -m build --sdist --no-isolation twine check dist/*