Skip to content

Commit 60adb3e

Browse files
[CI] add compatibility check to unit test
1 parent aca8601 commit 60adb3e

2 files changed

Lines changed: 44 additions & 20 deletions

File tree

.github/workflows/compatibility.yml

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,40 +10,23 @@ permissions:
1010
contents: read
1111

1212
jobs:
13-
prepare:
13+
prepare-compat:
1414
runs-on: ubuntu-latest
1515
outputs:
1616
versions: ${{ steps.parser.outputs.versions || '[]' }}
1717
steps:
18-
- uses: actions/checkout@v6
19-
with:
20-
fetch-depth: 2
21-
22-
- name: Check license line changed
23-
id: check
24-
run: |
25-
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
26-
echo "changed=true" >> "$GITHUB_OUTPUT"
27-
elif git diff HEAD~1 HEAD -- pyproject.toml | grep -q '^[+-].*license = "Apache-2.0"'; then
28-
echo "changed=true" >> "$GITHUB_OUTPUT"
29-
else
30-
echo "changed=false" >> "$GITHUB_OUTPUT"
31-
fi
32-
3318
- uses: actions/setup-python@v6
34-
if: steps.check.outputs.changed == 'true'
3519
with:
3620
python-version: "3.14"
3721

3822
- name: Generate version matrix
39-
if: steps.check.outputs.changed == 'true'
4023
id: parser
4124
run: |
4225
versions=$(python ci_loop_versions.py setuptools ">=77.0.1,<83")
4326
echo "versions=$versions" >> "$GITHUB_OUTPUT"
4427
45-
check:
46-
needs: prepare
28+
check-compat:
29+
needs: prepare-compat
4730
if: needs.prepare.outputs.versions != '[]'
4831
runs-on: ubuntu-latest
4932
strategy:

.github/workflows/unit_tests.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,3 +187,44 @@ jobs:
187187
pip install pip pytest tabulate regex setuptools build wheel -U
188188
pip install -v .
189189
pytest --durations=0 tests/${{ matrix.test_script }}.py
190+
191+
prepare-compat:
192+
runs-on: ubuntu-latest
193+
outputs:
194+
versions: ${{ steps.parser.outputs.versions || '[]' }}
195+
steps:
196+
- uses: actions/setup-python@v6
197+
with:
198+
python-version: "3.14"
199+
200+
- name: Generate version matrix
201+
id: parser
202+
run: |
203+
versions=$(python ci_loop_versions.py setuptools ">=77.0.1,<83")
204+
echo "versions=$versions" >> "$GITHUB_OUTPUT"
205+
206+
check-compat:
207+
needs: prepare-compat
208+
if: needs.prepare.outputs.versions != '[]'
209+
runs-on: ubuntu-latest
210+
strategy:
211+
fail-fast: false
212+
matrix:
213+
version: ${{ fromJSON(needs.prepare.outputs.versions) }}
214+
215+
steps:
216+
- uses: actions/checkout@v6
217+
- uses: actions/setup-python@v6
218+
with:
219+
python-version: "3.14"
220+
cache: pip
221+
222+
- name: Install package with selected setuptools
223+
run: |
224+
python -m pip install --upgrade pip
225+
python -m pip install . "setuptools==${{ matrix.version }}"
226+
227+
- name: Show versions
228+
run: |
229+
python --version
230+
python -m pip show setuptools

0 commit comments

Comments
 (0)