11name : Checks
22
33on :
4- pull_request :
4+ workflow_call :
55
66jobs :
77
@@ -16,19 +16,31 @@ jobs:
1616 fetch-depth : 0
1717
1818 - name : Setup Python & Poetry Environment
19- uses :
exasol/python-toolbox/.github/actions/[email protected] 20- with :
21- poetry-version : 2.1.2
19+ uses :
exasol/python-toolbox/.github/actions/[email protected] 2220
2321 - name : Check Version(s)
2422 run : |
25- poetry run version-check exasol/slc/version.py
26-
23+ poetry run -- version-check exasol/slc/version.py
2724
2825 build-matrix :
2926 name : Generate Build Matrix
3027 uses : ./.github/workflows/matrix-python.yml
3128
29+ Changelog :
30+ name : Changelog Update Check
31+ runs-on : ubuntu-24.04
32+ if : ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' }}
33+
34+ steps :
35+ - name : SCM Checkout
36+ uses : actions/checkout@v4
37+
38+ - name : Setup Python & Poetry Environment
39+ uses :
exasol/python-toolbox/.github/actions/[email protected] 40+
41+ - name : Run changelog update check
42+ run : poetry run -- nox -s changelog:updated
43+
3244 Lint :
3345 name : Linting (Python-${{ matrix.python-version }})
3446 needs : [ Version-Check, build-matrix ]
@@ -42,22 +54,20 @@ jobs:
4254 uses : actions/checkout@v4
4355
4456 - name : Setup Python & Poetry Environment
45- uses : exasol/python-toolbox/.github/actions/python-environment@0.20.0
57+ uses : exasol/python-toolbox/.github/actions/python-environment@1.0.1
4658 with :
4759 python-version : ${{ matrix.python-version }}
48- poetry-version : 2.1.2
49-
50- - name : Run Unit tests
51- run : poetry run nox -s test:unit
5260
5361 - name : Run lint
54- run : poetry run nox -s lint:code
62+ run : poetry run -- nox -s lint:code
5563
5664 - name : Upload Artifacts
57- uses : actions/upload-artifact@v4.4 .0
65+ uses : actions/upload-artifact@v4.6 .0
5866 with :
5967 name : lint-python${{ matrix.python-version }}
60- path : .lint.txt
68+ path : |
69+ .lint.txt
70+ .lint.json
6171 include-hidden-files : true
6272
6373 Type-Check :
@@ -73,13 +83,12 @@ jobs:
7383 uses : actions/checkout@v4
7484
7585 - name : Setup Python & Poetry Environment
76- uses : exasol/python-toolbox/.github/actions/python-environment@0.20.0
86+ uses : exasol/python-toolbox/.github/actions/python-environment@1.0.1
7787 with :
7888 python-version : ${{ matrix.python-version }}
79- poetry-version : 2.1.2
8089
8190 - name : Run type-check
82- run : poetry run nox -s lint:typing
91+ run : poetry run -- nox -s lint:typing
8392
8493 Security :
8594 name : Security Checks (Python-${{ matrix.python-version }})
@@ -94,17 +103,78 @@ jobs:
94103 uses : actions/checkout@v4
95104
96105 - name : Setup Python & Poetry Environment
97- uses : exasol/python-toolbox/.github/actions/python-environment@0.20.0
106+ uses : exasol/python-toolbox/.github/actions/python-environment@1.0.1
98107 with :
99108 python-version : ${{ matrix.python-version }}
100- poetry-version : 2.1.2
101109
102110 - name : Run security linter
103- run : poetry run nox -s lint:security
111+ run : poetry run -- nox -s lint:security
104112
105113 - name : Upload Artifacts
106- uses : actions/upload-artifact@v4.4 .0
114+ uses : actions/upload-artifact@v4.6 .0
107115 with :
108116 name : security-python${{ matrix.python-version }}
109117 path : .security.json
110118 include-hidden-files : true
119+
120+ Format :
121+ name : Format Check
122+ runs-on : ubuntu-24.04
123+
124+ steps :
125+ - name : SCM Checkout
126+ uses : actions/checkout@v4
127+
128+ - name : Setup Python & Poetry Environment
129+ uses :
exasol/python-toolbox/.github/actions/[email protected] 130+
131+ - name : Run format check
132+ run : poetry run -- nox -s project:format
133+
134+ Tests :
135+ name : Unit-Tests (Python-${{ matrix.python-version }})
136+ needs : [ Lint, Type-Check, Security, Format, build-matrix ]
137+ runs-on : ubuntu-24.04
138+ env :
139+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
140+ strategy :
141+ fail-fast : false
142+ matrix : ${{ fromJson(needs.build-matrix.outputs.matrix) }}
143+
144+ steps :
145+ - name : SCM Checkout
146+ uses : actions/checkout@v4
147+
148+ - name : Setup Python & Poetry Environment
149+ uses :
exasol/python-toolbox/.github/actions/[email protected] 150+ with :
151+ python-version : ${{ matrix.python-version }}
152+
153+ - name : Run Tests and Collect Coverage
154+ run : poetry run -- nox -s test:unit -- --coverage
155+
156+ - name : Upload Artifacts
157+ 158+ with :
159+ name : coverage-python${{ matrix.python-version }}-fast
160+ path : .coverage
161+ include-hidden-files : true
162+
163+ test-exaslct-alias-script :
164+ needs : build-matrix
165+ strategy :
166+ fail-fast : false
167+ matrix : ${{ fromJson(needs.build-matrix.outputs.matrix) }}
168+
169+ runs-on : ubuntu-24.04
170+ steps :
171+
172+ - uses : actions/checkout@v4
173+
174+ - name : Setup Python & Poetry Environment
175+ uses :
exasol/python-toolbox/.github/actions/[email protected] 176+ with :
177+ python-version : ' ${{ matrix.python_version }}'
178+
179+ - name : Test exaslct
180+ run : poetry run exaslct --help
0 commit comments