diff --git a/.github/workflows/compatibility.yml b/.github/workflows/compatibility.yml index 20f4fc1..f48cb5a 100644 --- a/.github/workflows/compatibility.yml +++ b/.github/workflows/compatibility.yml @@ -10,46 +10,31 @@ permissions: contents: read jobs: - prepare: + prepare-setuptools: runs-on: ubuntu-latest outputs: versions: ${{ steps.parser.outputs.versions || '[]' }} steps: - uses: actions/checkout@v6 - with: - fetch-depth: 2 - - - name: Check license line changed - id: check - run: | - if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then - echo "changed=true" >> "$GITHUB_OUTPUT" - elif git diff HEAD~1 HEAD -- pyproject.toml | grep -q '^[+-].*license = "Apache-2.0"'; then - echo "changed=true" >> "$GITHUB_OUTPUT" - else - echo "changed=false" >> "$GITHUB_OUTPUT" - fi - - uses: actions/setup-python@v6 - if: steps.check.outputs.changed == 'true' with: python-version: "3.14" - name: Generate version matrix - if: steps.check.outputs.changed == 'true' id: parser run: | - versions=$(python ci_loop_versions.py setuptools ">=77.0.1,<83") + python -m pip install --upgrade requests packaging + versions=$(python .github/scripts/ci_loop_versions.py setuptools ">=77.0.1,<83") echo "versions=$versions" >> "$GITHUB_OUTPUT" - check: - needs: prepare - if: needs.prepare.outputs.versions != '[]' + check-setuptools: + needs: prepare-setuptools + if: needs.prepare-setuptools.outputs.versions != '[]' runs-on: ubuntu-latest strategy: fail-fast: false matrix: - version: ${{ fromJSON(needs.prepare.outputs.versions) }} + version: ${{ fromJSON(needs.prepare-setuptools.outputs.versions) }} steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index d48d703..24332a8 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -187,3 +187,46 @@ jobs: pip install pip pytest tabulate regex setuptools build wheel -U pip install -v . pytest --durations=0 tests/${{ matrix.test_script }}.py + + prepare-setuptools: + runs-on: ubuntu-latest + outputs: + versions: ${{ steps.parser.outputs.versions || '[]' }} + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 + with: + python-version: "3.14" + + - name: Generate version matrix + id: parser + run: | + python -m pip install --upgrade requests packaging + versions=$(python .github/scripts/ci_loop_versions.py setuptools ">=77.0.1,<83") + echo "versions=$versions" >> "$GITHUB_OUTPUT" + + check-setuptools: + needs: prepare-setuptools + if: needs.prepare-setuptools.outputs.versions != '[]' + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + version: ${{ fromJSON(needs.prepare-setuptools.outputs.versions) }} + + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 + with: + python-version: "3.14" + cache: pip + + - name: Install package with selected setuptools + run: | + python -m pip install --upgrade pip + python -m pip install . "setuptools==${{ matrix.version }}" + + - name: Show versions + run: | + python --version + python -m pip show setuptools