Skip to content

Commit 26db764

Browse files
committed
Factorize job setup
Remove redudant job names Names are useful when they describe what is done in a more concise way than the code. Remove sarif support: it's too permissive in the github webui: it is made to be able to configure some warning or errors to ignore. Signed-off-by: Gaëtan Lehmann <[email protected]>
1 parent cd8a46c commit 26db764

File tree

6 files changed

+100
-109
lines changed

6 files changed

+100
-109
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Setup UV and Sync
2+
description: 'Install uv and sync the dependencies'
3+
inputs:
4+
sync:
5+
description: 'Whether to run `uv sync` after setting up.'
6+
required: false
7+
default: 'true'
8+
type: boolean
9+
dev:
10+
description: 'Whether to use `--no-dev` with `uv sync`.'
11+
required: false
12+
default: 'true'
13+
type: boolean
14+
activate-environment:
15+
description: 'Wether to activate the virtual env or not'
16+
required: false
17+
default: true
18+
type: boolean
19+
runs:
20+
using: 'composite'
21+
steps:
22+
- uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1
23+
with:
24+
version: "0.7.x"
25+
activate-environment: ${{ inputs.activate-environment }}
26+
- if: inputs.sync == 'true' && inputs.dev == 'false'
27+
run: uv sync --frozen --no-dev
28+
shell: bash
29+
env:
30+
FORCE_COLOR: "1"
31+
- if: inputs.sync == 'true' && inputs.dev == 'true'
32+
run: uv sync --frozen
33+
shell: bash
34+
env:
35+
FORCE_COLOR: "1"

.github/workflows/code-checkers.yml

Lines changed: 28 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -8,71 +8,43 @@ jobs:
88
mypy:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v2
12-
with:
13-
persist-credentials: false
14-
- name: Install uv
15-
uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1
16-
with:
17-
version: "0.7.x"
18-
- name: Install dependencies
19-
run: uv sync --frozen
20-
- name: Create a dummy data.py
21-
run: cp data.py-dist data.py
22-
- name: Install additional typing data and check with mypy
23-
run: uv run mypy --install-types --non-interactive lib/ conftest.py pkgfixtures.py tests/
11+
- uses: actions/checkout@v4
12+
with:
13+
persist-credentials: false
14+
- uses: ./.github/actions/uv-setup
15+
- name: Create a dummy data.py
16+
run: cp data.py-dist data.py
17+
- run: mypy --install-types --non-interactive lib/ conftest.py pkgfixtures.py tests/
2418

2519
pyright:
2620
runs-on: ubuntu-latest
2721
steps:
28-
- uses: actions/checkout@v2
29-
with:
30-
persist-credentials: false
31-
- name: Install uv
32-
uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1
33-
with:
34-
version: "0.7.x"
35-
- name: Install dependencies
36-
run: uv sync --frozen
37-
- name: Create a dummy data.py
38-
run: cp data.py-dist data.py
39-
- name: Check with pyright
40-
run: uv run pyright lib/ conftest.py pkgfixtures.py # tests/
22+
- uses: actions/checkout@v4
23+
with:
24+
persist-credentials: false
25+
- uses: ./.github/actions/uv-setup/
26+
- name: Create a dummy data.py
27+
run: cp data.py-dist data.py
28+
- run: pyright lib/ conftest.py pkgfixtures.py # tests/
4129

4230
ruff:
4331
runs-on: ubuntu-latest
44-
permissions:
45-
security-events: write # needed for SARIF uploads
32+
env:
33+
FORCE_COLOR: "1"
4634
steps:
47-
- uses: actions/checkout@v2
48-
with:
49-
persist-credentials: false
50-
- name: Install uv
51-
uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1
52-
with:
53-
version: "0.7.x"
54-
- name: Install dependencies
55-
run: uv sync --frozen
56-
- name: Create a dummy data.py
57-
run: cp data.py-dist data.py
58-
- name: Check with ruff
59-
run: uv run ruff check lib/ tests/ --output-format sarif > results.sarif
60-
- uses: github/codeql-action/upload-sarif@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
61-
with:
62-
sarif_file: results.sarif
63-
category: ruff
35+
- uses: actions/checkout@v4
36+
with:
37+
persist-credentials: false
38+
- uses: ./.github/actions/uv-setup/
39+
- name: Create a dummy data.py
40+
run: cp data.py-dist data.py
41+
- run: ruff check lib/ tests/
6442

6543
flake8:
6644
runs-on: ubuntu-latest
6745
steps:
68-
- uses: actions/checkout@v2
69-
with:
70-
persist-credentials: false
71-
- name: Install uv
72-
uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1
73-
with:
74-
version: "0.7.x"
75-
- name: Install dependencies
76-
run: uv sync --frozen
77-
- name: flake8
78-
run: uv run flake8
46+
- uses: actions/checkout@v4
47+
with:
48+
persist-credentials: false
49+
- uses: ./.github/actions/uv-setup/
50+
- run: flake8

.github/workflows/jobs-check.yml

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,12 @@ jobs:
88
jobs-check:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v2
12-
with:
13-
persist-credentials: false
14-
- name: Install uv
15-
uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1
16-
with:
17-
version: "0.7.x"
18-
- name: Install dependencies
19-
run: uv sync --frozen --no-dev
20-
- name: Create a dummy data.py
21-
run: cp data.py-dist data.py
22-
- name: jobs-check
23-
run: uv run --no-dev ./jobs.py check
11+
- uses: actions/checkout@v4
12+
with:
13+
persist-credentials: false
14+
- uses: ./.github/actions/uv-setup/
15+
with:
16+
dev: false
17+
- name: Create a dummy data.py
18+
run: cp data.py-dist data.py
19+
- run: ./jobs.py check

.github/workflows/requirements-check.yml

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,11 @@ jobs:
88
requirements-check:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v2
12-
with:
13-
persist-credentials: false
14-
- name: Install uv
15-
uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1
16-
with:
17-
version: "0.7.x"
18-
- name: Install dependencies
19-
run: uv sync --frozen --no-dev
20-
- run: uv run --no-dev ./requirements/update_requirements.py
21-
- run: git diff --exit-code
11+
- uses: actions/checkout@v4
12+
with:
13+
persist-credentials: false
14+
- uses: ./.github/actions/uv-setup/
15+
with:
16+
dev: false
17+
- run: ./requirements/update_requirements.py
18+
- run: git diff --exit-code

.github/workflows/test-sequences.yml

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,20 @@ jobs:
88
jobs-check:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v2
12-
with:
13-
persist-credentials: false
14-
- name: Install uv
15-
uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1
16-
with:
17-
version: "0.7.x"
18-
- name: Install dependencies
19-
run: uv sync --frozen --no-dev
20-
- name: Create a dummy data.py
21-
run: cp data.py-dist data.py
22-
- name: jobs-check
23-
run: |
24-
FAILURES=""
25-
for seq in $(find -name "*.lst"); do
26-
if ! uv run --no-dev pytest @$seq --collect-only --quiet; then
27-
FAILURES="$FAILURES $seq"
28-
fi
29-
done
30-
[ -z "$FAILURES" ] || { echo >&2 "ERROR: test sequences failed consistency check: $FAILURES"; exit 1; }
11+
- uses: actions/checkout@v4
12+
with:
13+
persist-credentials: false
14+
- uses: ./.github/actions/uv-setup/
15+
with:
16+
dev: false
17+
- name: Create a dummy data.py
18+
run: cp data.py-dist data.py
19+
- name: jobs-check
20+
run: |
21+
FAILURES=""
22+
for seq in $(find -name "*.lst"); do
23+
if ! pytest @$seq --collect-only --quiet; then
24+
FAILURES="$FAILURES $seq"
25+
fi
26+
done
27+
[ -z "$FAILURES" ] || { echo >&2 "ERROR: test sequences failed consistency check: $FAILURES"; exit 1; }

.github/workflows/zizmor.yml

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,13 @@ jobs:
88
zizmor:
99
name: zizmor latest
1010
runs-on: ubuntu-latest
11-
permissions:
12-
security-events: write # needed for SARIF uploads
1311
steps:
1412
- uses: actions/checkout@v4
1513
with:
1614
persist-credentials: false
17-
- uses: astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6.3.1
15+
- uses: ./.github/actions/uv-setup/
1816
with:
19-
version: "0.7.x"
20-
- run: uvx zizmor --format=sarif . > results.sarif
17+
sync: false
18+
- run: uvx zizmor --color=always .
2119
env:
2220
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23-
- uses: github/codeql-action/upload-sarif@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
24-
with:
25-
sarif_file: results.sarif
26-
category: zizmor

0 commit comments

Comments
 (0)