From 6c93658c2e45ad949770bde38851621822776f10 Mon Sep 17 00:00:00 2001 From: TheJulianJES Date: Mon, 8 Dec 2025 08:53:11 +0100 Subject: [PATCH 01/10] Update `actions/checkout` to v6 --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 39b6318..9891dca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,7 @@ jobs: python-version: ${{ fromJSON(format('[{0}]', inputs.PYTHON_MATRIX)) }} steps: - name: Check out code from GitHub - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} id: python uses: actions/setup-python@v5 @@ -99,7 +99,7 @@ jobs: needs: prepare-base steps: - name: Check out code from GitHub - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Python ${{ inputs.PYTHON_VERSION_DEFAULT }} uses: actions/setup-python@v5 id: python @@ -148,7 +148,7 @@ jobs: Run tests Python ${{ matrix.python-version }} steps: - name: Check out code from GitHub - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 id: python @@ -194,7 +194,7 @@ jobs: needs: pytest steps: - name: Check out code from GitHub - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 id: python From 94291c2551594bcd694bb16fe404ca15a1fe8d4e Mon Sep 17 00:00:00 2001 From: TheJulianJES Date: Mon, 8 Dec 2025 08:53:43 +0100 Subject: [PATCH 02/10] Update `actions/setup-python` to v6 --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9891dca..24fa8ea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,7 +53,7 @@ jobs: uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} id: python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} allow-prereleases: true @@ -101,7 +101,7 @@ jobs: - name: Check out code from GitHub uses: actions/checkout@v6 - name: Set up Python ${{ inputs.PYTHON_VERSION_DEFAULT }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 id: python with: python-version: ${{ inputs.PYTHON_VERSION_DEFAULT }} @@ -150,7 +150,7 @@ jobs: - name: Check out code from GitHub uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 id: python with: python-version: ${{ matrix.python-version }} @@ -196,7 +196,7 @@ jobs: - name: Check out code from GitHub uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 id: python with: python-version: ${{ inputs.PYTHON_VERSION_DEFAULT }} From d8d052b373f05429d2ddc0855753c72a5a8a5936 Mon Sep 17 00:00:00 2001 From: TheJulianJES Date: Mon, 8 Dec 2025 08:54:10 +0100 Subject: [PATCH 03/10] Fix wrong step name --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 24fa8ea..f44ff78 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -195,7 +195,7 @@ jobs: steps: - name: Check out code from GitHub uses: actions/checkout@v6 - - name: Set up Python ${{ matrix.python-version }} + - name: Set up Python ${{ inputs.PYTHON_VERSION_DEFAULT }} uses: actions/setup-python@v6 id: python with: From c19293cc21fd54d958bc3d8e5e3d9708f7b6c100 Mon Sep 17 00:00:00 2001 From: TheJulianJES Date: Mon, 8 Dec 2025 09:01:51 +0100 Subject: [PATCH 04/10] Change uv install use `astral-sh/setup-uv` action instead of script --- .github/workflows/ci.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f44ff78..1b7f9e4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -66,6 +66,11 @@ jobs: ${{ inputs.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{ steps.python.outputs.python-version }}-${{ hashFiles('setup.py', 'requirements_test.txt', 'requirements.txt', 'pyproject.toml', 'setup.cfg', 'uv.lock') }} + - name: Install uv + if: steps.cache-venv.outputs.cache-hit != 'true' + uses: astral-sh/setup-uv@v7 + with: + enable-cache: false - name: Create Python virtual environment if: steps.cache-venv.outputs.cache-hit != 'true' env: @@ -74,7 +79,6 @@ jobs: FROZENLIST_NO_EXTENSIONS: 1 YARL_NO_EXTENSIONS: 1 run: | - curl -LsSf https://astral.sh/uv/install.sh | sh if ! uv sync --group ci ; then uv venv --clear uv pip install -U pip setuptools pre-commit From 07f6debfb19c622a7236d66bee4a34e50a82f09b Mon Sep 17 00:00:00 2001 From: TheJulianJES Date: Mon, 8 Dec 2025 09:02:34 +0100 Subject: [PATCH 05/10] Inline `key` for `cache-precommit` --- .github/workflows/ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1b7f9e4..a8e6def 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -124,8 +124,7 @@ jobs: uses: actions/cache/restore@v4 with: path: ${{ inputs.PRE_COMMIT_CACHE_PATH }} - key: | - ${{ inputs.CACHE_VERSION}}-${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }} + key: ${{ inputs.CACHE_VERSION}}-${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }} - name: Install pre-commit dependencies if: steps.cache-precommit.outputs.cache-hit != 'true' run: | From b7b65fca5d53d30b367b869c5908b9a2bc25eb52 Mon Sep 17 00:00:00 2001 From: TheJulianJES Date: Mon, 8 Dec 2025 09:03:04 +0100 Subject: [PATCH 06/10] Fix typo in comment --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a8e6def..e38228a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,7 @@ on: jobs: # Separate job to pre-populate the base dependency cache - # This prevent upcoming jobs to do the same individually + # This prevents upcoming jobs from doing the same individually prepare-base: name: Prepare base dependencies runs-on: ubuntu-latest From 7a88097318cb83ca85d40f32455598b3c0410b2e Mon Sep 17 00:00:00 2001 From: TheJulianJES Date: Mon, 8 Dec 2025 09:03:17 +0100 Subject: [PATCH 07/10] Add comment to uv sync command --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e38228a..16b7444 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -79,6 +79,8 @@ jobs: FROZENLIST_NO_EXTENSIONS: 1 YARL_NO_EXTENSIONS: 1 run: | + # Try modern approach: sync dependencies from pyproject.toml [dependency-groups.ci] + # If it fails (e.g., project uses legacy requirements.txt), fall back to manual installation if ! uv sync --group ci ; then uv venv --clear uv pip install -U pip setuptools pre-commit From fcf7aece43f7a684d50dbfe66f3beb9f8a6c08f8 Mon Sep 17 00:00:00 2001 From: TheJulianJES Date: Mon, 8 Dec 2025 09:43:24 +0100 Subject: [PATCH 08/10] Update `actions/checkout` to v6 --- .github/workflows/publish-to-pypi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml index eb194cd..6cbd1fe 100644 --- a/.github/workflows/publish-to-pypi.yml +++ b/.github/workflows/publish-to-pypi.yml @@ -19,7 +19,7 @@ jobs: name: Build and publish distributions to PyPI runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 0 - name: Set up Python ${{ inputs.PYTHON_VERSION_DEFAULT }} From 349245302c52e439ded0c7114a147e694cad1b15 Mon Sep 17 00:00:00 2001 From: TheJulianJES Date: Mon, 8 Dec 2025 09:43:34 +0100 Subject: [PATCH 09/10] Update `actions/setup-python` to v6 --- .github/workflows/publish-to-pypi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml index 6cbd1fe..5c5e367 100644 --- a/.github/workflows/publish-to-pypi.yml +++ b/.github/workflows/publish-to-pypi.yml @@ -23,7 +23,7 @@ jobs: with: fetch-depth: 0 - name: Set up Python ${{ inputs.PYTHON_VERSION_DEFAULT }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ inputs.PYTHON_VERSION_DEFAULT }} - name: Install wheel From 161ce4c20e311a7cfa7b12b6e0851f7da230551e Mon Sep 17 00:00:00 2001 From: TheJulianJES Date: Mon, 8 Dec 2025 09:45:50 +0100 Subject: [PATCH 10/10] Inline Python build commands --- .github/workflows/publish-to-pypi.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml index 5c5e367..1d719de 100644 --- a/.github/workflows/publish-to-pypi.yml +++ b/.github/workflows/publish-to-pypi.yml @@ -26,12 +26,10 @@ jobs: uses: actions/setup-python@v6 with: python-version: ${{ inputs.PYTHON_VERSION_DEFAULT }} - - name: Install wheel - run: >- - pip install wheel build - - name: Build wheel - run: >- - python3 -m build + - name: Install build tools + run: pip install build + - name: Build distribution packages + run: python3 -m build - name: Publish distribution to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: