From 20cac6fd68f35ef87aef44e26e1d31ddfe10f6ad Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Mon, 13 Jul 2026 17:25:05 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20=E4=BF=AE=E5=A4=8Dpip=20--break-syst?= =?UTF-8?q?em-packages=E5=85=BC=E5=AE=B9=E6=80=A7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 旧Runner使用pip 22.0.2不支持--break-system-packages参数。 动态检测pip版本,兼容新旧Runner环境。 --- .gitea/workflows/ci-cd.yml | 44 +++++++++++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/ci-cd.yml b/.gitea/workflows/ci-cd.yml index 69868e967..c59825a9f 100755 --- a/.gitea/workflows/ci-cd.yml +++ b/.gitea/workflows/ci-cd.yml @@ -91,10 +91,16 @@ jobs: - name: Install dependencies shell: sh run: | + # Detect pip --break-system-packages support (pip >= 23.0 / PEP 668) + PIP_BREAK_FLAG="" + if python3 -m pip install --help 2>/dev/null | grep -q "break-system-packages"; then + PIP_BREAK_FLAG="--break-system-packages" + fi + echo "PIP_BREAK_FLAG=$PIP_BREAK_FLAG" >> "$GITHUB_ENV" set -eu - python3 -m pip install --break-system-packages -q -r requirements-base.txt - python3 -m pip install --break-system-packages -q -r requirements.txt - python3 -m pip install --break-system-packages -q -r requirements-dev.txt + python3 -m pip install $PIP_BREAK_FLAG -q -r requirements-base.txt + python3 -m pip install $PIP_BREAK_FLAG -q -r requirements.txt + python3 -m pip install $PIP_BREAK_FLAG -q -r requirements-dev.txt python3 -m black --version python3 -m isort --version-number python3 -m flake8 --version @@ -220,10 +226,16 @@ jobs: - name: Install dependencies shell: sh run: | + # Detect pip --break-system-packages support (pip >= 23.0 / PEP 668) + PIP_BREAK_FLAG="" + if python3 -m pip install --help 2>/dev/null | grep -q "break-system-packages"; then + PIP_BREAK_FLAG="--break-system-packages" + fi + echo "PIP_BREAK_FLAG=$PIP_BREAK_FLAG" >> "$GITHUB_ENV" set -eu - python3 -m pip install --break-system-packages -q -r requirements-base.txt - python3 -m pip install --break-system-packages -q -r requirements.txt - python3 -m pip install --break-system-packages -q -r requirements-dev.txt + python3 -m pip install $PIP_BREAK_FLAG -q -r requirements-base.txt + python3 -m pip install $PIP_BREAK_FLAG -q -r requirements.txt + python3 -m pip install $PIP_BREAK_FLAG -q -r requirements-dev.txt pytest --version - name: Run unit tests with coverage @@ -319,10 +331,16 @@ jobs: - name: Install dependencies shell: sh run: | + # Detect pip --break-system-packages support (pip >= 23.0 / PEP 668) + PIP_BREAK_FLAG="" + if python3 -m pip install --help 2>/dev/null | grep -q "break-system-packages"; then + PIP_BREAK_FLAG="--break-system-packages" + fi + echo "PIP_BREAK_FLAG=$PIP_BREAK_FLAG" >> "$GITHUB_ENV" set -eu - python3 -m pip install --break-system-packages -q -r requirements-base.txt - python3 -m pip install --break-system-packages -q -r requirements.txt - python3 -m pip install --break-system-packages -q -r requirements-dev.txt + python3 -m pip install $PIP_BREAK_FLAG -q -r requirements-base.txt + python3 -m pip install $PIP_BREAK_FLAG -q -r requirements.txt + python3 -m pip install $PIP_BREAK_FLAG -q -r requirements-dev.txt pytest --version - name: Start Redis @@ -394,7 +412,7 @@ jobs: shell: sh run: | set -eu - pip install --break-system-packages -q pytest-rerunfailures + pip install $PIP_BREAK_FLAG -q pytest-rerunfailures PYTHONPATH="$PWD/apps/api:$PWD" python3 -m coverage run --append \ --source=apps/api/app,packages \ --omit="*/migrations/*,*/tests/*,*/test_*.py,*/site-packages/*" \ @@ -536,6 +554,12 @@ jobs: - name: Install dependencies shell: sh run: | + # Detect pip --break-system-packages support (pip >= 23.0 / PEP 668) + PIP_BREAK_FLAG="" + if python3 -m pip install --help 2>/dev/null | grep -q "break-system-packages"; then + PIP_BREAK_FLAG="--break-system-packages" + fi + echo "PIP_BREAK_FLAG=$PIP_BREAK_FLAG" >> "$GITHUB_ENV" set -eu docker run --rm \ -v "$PWD:/workspace" \