From f38f20ec6a9e7265855a17ac31e81bd329ac584f Mon Sep 17 00:00:00 2001 From: Zio Gabber <78922322+Gabrymi93@users.noreply.github.com> Date: Mon, 21 Sep 2026 14:48:02 +0100 Subject: [PATCH] fix(python-setup): pyproject-first, fallback a requirements.txt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit python-setup ora prova prima pip install -e ".[dev]" (pyproject.toml), poi fallback a requirements.txt (legacy). Se nessuno dei due esiste, skip con notice. Compatibile con la migrazione requirements → pyproject. --- actions/python-setup/action.yml | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/actions/python-setup/action.yml b/actions/python-setup/action.yml index d82233d..6228e81 100644 --- a/actions/python-setup/action.yml +++ b/actions/python-setup/action.yml @@ -1,12 +1,18 @@ name: 'Python Setup (org-level)' description: | - Setup Python 3.12 con pip cache e installa requirements.txt + + Setup Python 3.12 con pip cache e installa dipendenze (pyproject.toml o requirements.txt) + pacchetti extra opzionali. Action org-level disponibile per tutti i repo DataCivicLab. Il checkout deve essere fatto PRIMA di chiamare questa action (le composite action locali non possono contenere actions/checkout). + Install order: + 1. pyproject.toml → pip install -e ".[dev]" (se esiste) + 2. requirements.txt → pip install -r (legacy, se pyproject non esiste) + 3. extra-requirements files + 4. extra-packages + Usage: - uses: actions/checkout@v6 - uses: dataciviclab/.github/actions/python-setup@main @@ -40,13 +46,19 @@ runs: python-version: ${{ inputs.python-version }} cache: 'pip' - - name: Install core dependencies (if requirements.txt exists) + - name: Install core dependencies shell: bash run: | - if [ -f requirements.txt ]; then + if [ -f pyproject.toml ]; then + echo "::group::pip install -e .[dev]" + python -m pip install -e ".[dev]" + echo "::endgroup::" + elif [ -f requirements.txt ]; then + echo "::group::pip install -r requirements.txt" python -m pip install -r requirements.txt + echo "::endgroup::" else - echo "::notice::No requirements.txt found — skip core install" + echo "::notice::No pyproject.toml or requirements.txt found — skip core install" fi - name: Install extra requirements files