From 4f10b810d4e519d1a13d48dd98df3d8414facc8a Mon Sep 17 00:00:00 2001 From: didericis Date: Sat, 18 Jul 2026 05:08:18 -0400 Subject: [PATCH] ci(lint): drop actions/setup-python; install into the container's system Python Same fix as the test workflow: the old act_runner engine mishandles actions/setup-python's PATH, so `pip install` hit the image's externally-managed system Python and failed with "externally-managed-environment" on the "Install dev dependencies" step. The runner image already ships Python 3.12 and the job container is ephemeral, so drop setup-python and install straight into system Python with --break-system-packages. pylint/pyright console scripts land on /usr/local/bin (on PATH), so the lint steps still resolve. Also drops the now-pointless `pip install --upgrade pip`. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01UoEZHDjv84ChoZbozQERhJ --- .gitea/workflows/lint.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/lint.yml b/.gitea/workflows/lint.yml index 218baaf..66c1e47 100644 --- a/.gitea/workflows/lint.yml +++ b/.gitea/workflows/lint.yml @@ -13,15 +13,14 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: "3.12" - + # No actions/setup-python: the runner image already ships Python 3.12, + # and older act_runner engines mishandle setup-python's PATH. Install + # into the ephemeral job container's system Python — the pylint/pyright + # console scripts land on /usr/local/bin (on PATH) so the steps below + # still resolve. --break-system-packages is safe: the container is + # disposable. - name: Install dev dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements-dev.txt + run: python3 -m pip install --break-system-packages -r requirements-dev.txt - name: Run pylint run: |