Skip to content

Commit ec73d6b

Browse files
authored
v6.5.0
2 parents fb36154 + 10c10d9 commit ec73d6b

27 files changed

Lines changed: 326 additions & 535 deletions
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Check artifact names
2+
branding:
3+
icon: check-square
4+
color: green
5+
description: Check generated artifact names.
6+
author: Patrick Lehmann (@Paebbels)
7+
8+
inputs:
9+
prefix:
10+
description:
11+
type: string
12+
required: true
13+
generated-names:
14+
description:
15+
type: string
16+
required: true
17+
18+
runs:
19+
using: composite
20+
steps:
21+
- name: Install dependencies
22+
shell: bash
23+
run: pip install --disable-pip-version-check --break-system-packages pyTooling
24+
25+
- name: Check artifact names
26+
id: check
27+
shell: python
28+
run: |
29+
from json import loads as json_loads
30+
from sys import exit
31+
32+
from pyTooling.Common import zipdicts
33+
34+
actualArtifactNames = json_loads("""${{ inputs.generated-names }}""".replace("'", '"'))
35+
36+
expectedName = "${{ inputs.prefix }}"
37+
expectedArtifacts = {
38+
"unittesting_xml": f"{expectedName}-UnitTestReportSummary-XML",
39+
"unittesting_html": f"{expectedName}-UnitTestReportSummary-HTML",
40+
"perftesting_xml": f"{expectedName}-PerformanceTestReportSummary-XML",
41+
"benchtesting_xml": f"{expectedName}-BenchmarkTestReportSummary-XML",
42+
"apptesting_xml": f"{expectedName}-ApplicationTestReportSummary-XML",
43+
"codecoverage_sqlite": f"{expectedName}-CodeCoverage-SQLite",
44+
"codecoverage_xml": f"{expectedName}-CodeCoverage-XML",
45+
"codecoverage_json": f"{expectedName}-CodeCoverage-JSON",
46+
"codecoverage_html": f"{expectedName}-CodeCoverage-HTML",
47+
"statictyping_cobertura": f"{expectedName}-StaticTyping-Cobertura-XML",
48+
"statictyping_junit": f"{expectedName}-StaticTyping-JUnit-XML",
49+
"statictyping_html": f"{expectedName}-StaticTyping-HTML",
50+
"package_all": f"{expectedName}-Packages",
51+
"documentation_html": f"{expectedName}-Documentation-HTML",
52+
"documentation_latex": f"{expectedName}-Documentation-LaTeX",
53+
"documentation_pdf": f"{expectedName}-Documentation-PDF",
54+
}
55+
56+
errors = 0
57+
if len(actualArtifactNames) != len(expectedArtifacts):
58+
print(f"❌ Number of 'artifact_names' does not match: {len(actualArtifactNames)} != {len(expectedArtifacts)}.")
59+
errors += 1
60+
else:
61+
print("✅ Number of 'artifact_names' as expected.")
62+
print("Checking artifact names ...")
63+
64+
for key, actual, expected in zipdicts(actualArtifactNames, expectedArtifacts):
65+
if actual != expected:
66+
print(f" ❌ Artifact name '{key}' does not match: {actual} != {expected}.")
67+
errors += 1
68+
else:
69+
print(f" ☑ Artifact name as expected: {key} ⇢ {actual}.")
70+
71+
if errors == 0:
72+
print("✅ All checks PASSED.")
73+
else:
74+
print(f"❌ Counted {errors} errors.")
75+
exit(errors)
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: Check job matrix
2+
branding:
3+
icon: check-square
4+
color: green
5+
description: Check generated job matrix.
6+
author: Patrick Lehmann (@Paebbels)
7+
8+
inputs:
9+
expected-default-version:
10+
description:
11+
type: string
12+
required: true
13+
expected-python-versions:
14+
description:
15+
type: string
16+
required: true
17+
expected-systems:
18+
description:
19+
type: string
20+
required: true
21+
expected-exclude-jobs:
22+
description:
23+
type: string
24+
required: true
25+
expected-include-jobs:
26+
description:
27+
type: string
28+
required: true
29+
generated-default-version:
30+
description:
31+
type: string
32+
required: true
33+
generated-jobmatrix:
34+
description:
35+
type: string
36+
required: true
37+
38+
runs:
39+
using: composite
40+
steps:
41+
- name: Check parameters
42+
id: check
43+
shell: python
44+
run: |
45+
from json import loads as json_loads
46+
from sys import exit
47+
48+
actualPythonVersion = """${{ inputs.generated-default-version }}"""
49+
actualPythonJobs = json_loads("""${{ inputs.generated-jobmatrix }}""".replace("'", '"'))
50+
51+
expectedPythonVersion = """${{ inputs.expected-default-version }}"""
52+
expectedPythons = json_loads("""${{ inputs.expected-python-versions }}""".replace("'", '"'))
53+
expectedSystems = json_loads("""${{ inputs.expected-systems }}""".replace("'", '"'))
54+
excludedJobs = json_loads("""${{ inputs.expected-exclude-jobs }}""".replace("'", '"'))
55+
includeJobs = json_loads("""${{ inputs.expected-include-jobs }}""".replace("'", '"'))
56+
expectedJobs = sorted([f"{system}:{python}" for system in expectedSystems for python in expectedPythons if f"{system}:{python}" not in excludedJobs] + includeJobs)
57+
58+
errors = 0
59+
if actualPythonVersion != expectedPythonVersion:
60+
print(f"'python_version' does not match: '{actualPythonVersion}' != '{expectedPythonVersion}'.")
61+
errors += 1
62+
63+
if len(actualPythonJobs) != len(expectedJobs):
64+
print(f"❌ Number of 'python_jobs' does not match: {len(actualPythonJobs)} != {len(expectedJobs)}.")
65+
print("Actual jobs:")
66+
for job in actualPythonJobs:
67+
if job['system'] == "msys2":
68+
print(f" {job['runtime'].lower()}:{job['python']}")
69+
else:
70+
print(f" {job['system']}:{job['python']}")
71+
72+
print("Expected jobs:")
73+
for job in expectedJobs:
74+
print(f" {job}")
75+
errors += 1
76+
else:
77+
print("✅ Number of 'python_jobs' as expected.")
78+
print("Checking job combinations ...")
79+
80+
actualJobs = sorted([f"{job['system'] if job['system'] != 'msys2' else job['runtime'].lower()}:{job['python']}" for job in actualPythonJobs])
81+
for actual, expected in zip(actualJobs, expectedJobs):
82+
if actual != expected:
83+
print(f" ❌ Job does not match: {actual} != {expected}.")
84+
errors += 1
85+
else:
86+
print(f" ☑ Job as expected: {actual}.")
87+
88+
if errors == 0:
89+
print("✅ All checks PASSED.")
90+
else:
91+
print(f"❌ Counted {errors} errors.")
92+
exit(errors)

.github/workflows/CheckCodeQuality.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ on:
3232
python_version:
3333
description: 'Python version.'
3434
required: false
35-
default: '3.13'
35+
default: '3.14'
3636
type: string
3737
package_directory:
3838
description: 'The package''s directory'

.github/workflows/CheckDocumentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ on:
3232
python_version:
3333
description: 'Python version.'
3434
required: false
35-
default: '3.13'
35+
default: '3.14'
3636
type: string
3737
directory:
3838
description: 'Source code directory to check.'

.github/workflows/CompletePipeline.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ on:
3636
unittest_python_version:
3737
description: 'Python version.'
3838
required: false
39-
default: '3.13'
39+
default: '3.14'
4040
type: string
4141
unittest_python_version_list:
4242
description: 'Space separated list of Python versions to run tests with.'
4343
required: false
44-
default: '3.9 3.10 3.11 3.12 3.13'
44+
default: '3.10 3.11 3.12 3.13 3.14'
4545
type: string
4646
unittest_system_list:
4747
description: 'Space separated list of systems to run tests on.'
@@ -66,7 +66,7 @@ on:
6666
apptest_python_version:
6767
description: 'Python version.'
6868
required: false
69-
default: '3.13'
69+
default: '3.14'
7070
type: string
7171
apptest_python_version_list:
7272
description: 'Space separated list of Python versions to run tests with.'

.github/workflows/ExtractConfiguration.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ on:
3232
python_version:
3333
description: 'Python version.'
3434
required: false
35-
default: '3.13'
35+
default: '3.14'
3636
type: string
3737
coverage_config:
3838
description: 'Path to the .coveragerc file. Use pyproject.toml by default.'

.github/workflows/Package.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ on:
3333
python_version:
3434
description: 'Python version.'
3535
required: false
36-
default: '3.13'
36+
default: '3.14'
3737
type: string
3838
requirements:
3939
description: 'Python dependencies to be installed through pip; if empty, use pyproject.toml through build.'

.github/workflows/Parameters.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,12 @@ on:
4848
python_version:
4949
description: 'Python version.'
5050
required: false
51-
default: '3.13'
51+
default: '3.14'
5252
type: string
5353
python_version_list:
5454
description: 'Space separated list of Python versions to run tests with.'
5555
required: false
56-
default: '3.9 3.10 3.11 3.12 3.13'
56+
default: '3.10 3.11 3.12 3.13 3.14'
5757
type: string
5858
system_list:
5959
description: 'Space separated list of systems to run tests on.'
@@ -259,8 +259,8 @@ jobs:
259259
disable_list = "${{ inputs.disable_list }}".strip()
260260
261261
currentMSYS2Version = "3.12"
262-
currentAlphaVersion = "3.14"
263-
currentAlphaRelease = "3.14.0-rc.3"
262+
currentAlphaVersion = "3.15"
263+
currentAlphaRelease = "3.15.0-a.1"
264264
265265
if systems == "":
266266
print("::error title=Parameter::system_list is empty.")

.github/workflows/PublishOnPyPI.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ on:
3333
python_version:
3434
description: 'Python version.'
3535
required: false
36-
default: '3.13'
36+
default: '3.14'
3737
type: string
3838
requirements:
3939
description: 'Python dependencies to be installed through pip.'

.github/workflows/SphinxDocumentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ on:
3232
python_version:
3333
description: 'Python version.'
3434
required: false
35-
default: '3.13'
35+
default: '3.14'
3636
type: string
3737
requirements:
3838
description: 'Python dependencies to be installed through pip.'

0 commit comments

Comments
 (0)