Skip to content

Commit d5aa42a

Browse files
authored
ci: 🔥💚Use new BO4E-CLI for the CI (#1011)
- 🔥Remove old code in favor for the new BO4E-CLI - Correct version pattern - Make JSON Schema generation compatible with CLI - Adapt documentation creation and corresponding workflows - Adapt version tag check - Improve `Changelog` section in documentation and include new diff-files
1 parent 338c94e commit d5aa42a

29 files changed

Lines changed: 562 additions & 1389 deletions

‎.github/workflows/coverage.yml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ jobs:
1010
os: [ubuntu-latest]
1111
steps:
1212
- uses: actions/checkout@v4
13+
with:
14+
fetch-depth: 0
1315
- name: Set up Python ${{ matrix.python-version }}
1416
uses: actions/setup-python@v5
1517
with:

‎.github/workflows/docs_latest.yml‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,6 @@ jobs:
4444
# Note: The sphinx action below can only install a single requirements file.
4545
- name: Build JSON Schemas
4646
run: tox -e generate_json_schemas
47-
env:
48-
TARGET_VERSION: ${{ env.REF_NAME }}
4947
- name: Build BO4E package
5048
# Note: This step necessary to correctly set the version in the JSON-Schema-links
5149
run: |

‎.github/workflows/python-publish.yml‎

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,11 @@ jobs:
5151
TARGET_VERSION: ${{ github.ref_name }}
5252
- name: Check version tag
5353
run: |
54-
python -m docs.compatibility.versioning --gh-version ${{ github.ref_name }} \
55-
--gh-token ${{ secrets.GITHUB_TOKEN }}
54+
# Get last version tag
55+
LAST_VERSION=$(bo4e repo versions -qcn 1 -r ${{ github.ref_name }})
56+
bo4e pull -t $LAST_VERSION -o tmp/last_schemas
57+
bo4e diff schemas tmp/last_schemas json_schemas -o tmp/diff.json
58+
bo4e diff version-bump tmp/diff.json -aq
5659
json_schemas:
5760
name: Generate JSON-Schemas
5861
runs-on: ubuntu-latest
@@ -70,7 +73,10 @@ jobs:
7073
python -m pip install --upgrade pip
7174
pip install tox
7275
- name: Build JSON Schemas
73-
run: tox -e generate_json_schemas
76+
run: |
77+
tox -e generate_json_schemas
78+
# Remove .version file as we don't want to commit it to BO4E-Schemas
79+
rm json_schemas/.version
7480
env:
7581
TARGET_VERSION: ${{ github.ref_name }}
7682
- name: Push schemas to BO4E-Schemas repo

‎.github/workflows/tests.yml‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ jobs:
1010
os: [ubuntu-latest]
1111
steps:
1212
- uses: actions/checkout@v4
13+
with:
14+
fetch-depth: 0
1315
- name: Set up Python ${{ matrix.python-version }}
1416
uses: actions/setup-python@v5
1517
with:

‎.gitignore‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,6 @@ src/_bo4e_python_version.py
175175

176176
# the autogenerated JSON schemas will be build and pushed to BO4E-Schemas
177177
# on release
178-
json_schemas/**/*.json
178+
json_schemas/
179179

180180
tmp/
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
# SHA1:6dafbcf610e9f81897b65ee9142715ab2e793f9e
21
#
3-
# This file is autogenerated by pip-compile-multi
4-
# To update, run:
2+
# This file is autogenerated by pip-compile with Python 3.12
3+
# by the following command:
54
#
6-
# pip-compile-multi
5+
# pip-compile '.\dev_requirements\requirements-coverage.in'
76
#
87
coverage==7.9.2
9-
# via -r requirements-coverage.in
8+
# via -r .\dev_requirements\requirements-coverage.in
Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
1-
# SHA1:2c7ffcd29222de3114c7f7994911f1b69d06b6b3
21
#
3-
# This file is autogenerated by pip-compile-multi
4-
# To update, run:
2+
# This file is autogenerated by pip-compile with Python 3.12
3+
# by the following command:
54
#
6-
# pip-compile-multi
5+
# pip-compile '.\dev_requirements\requirements-formatting.in'
76
#
87
black==25.1.0
9-
# via -r dev_requirements/requirements-formatting.in
10-
click==8.1.8
8+
# via -r .\dev_requirements\requirements-formatting.in
9+
click==8.2.1
1110
# via black
11+
colorama==0.4.6
12+
# via click
1213
isort==6.0.1
13-
# via -r dev_requirements/requirements-formatting.in
14-
mypy-extensions==1.0.0
14+
# via -r .\dev_requirements\requirements-formatting.in
15+
mypy-extensions==1.1.0
1516
# via black
16-
packaging==24.0
17+
packaging==25.0
1718
# via black
1819
pathspec==0.12.1
1920
# via black
20-
platformdirs==4.2.0
21+
platformdirs==4.3.8
2122
# via black
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
click
2+
bo4e-cli
Lines changed: 137 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,140 @@
1-
# SHA1:b93ec56608fb302fea7a8019d7c0e8e7239fc033
21
#
3-
# This file is autogenerated by pip-compile-multi
4-
# To update, run:
2+
# This file is autogenerated by pip-compile with Python 3.12
3+
# by the following command:
54
#
6-
# pip-compile-multi
5+
# pip-compile '.\dev_requirements\requirements-json_schemas.in'
76
#
8-
click==8.1.8
9-
# via -r dev_requirements/requirements-json_schemas.in
7+
annotated-types==0.7.0
8+
# via pydantic
9+
anyio==4.9.0
10+
# via httpx
11+
argcomplete==3.6.2
12+
# via datamodel-code-generator
13+
autoflake==2.3.1
14+
# via bo4e-cli
15+
black==25.1.0
16+
# via datamodel-code-generator
17+
bo4e-cli==0.0.3
18+
# via -r .\dev_requirements\requirements-json_schemas.in
19+
certifi==2025.7.9
20+
# via
21+
# httpcore
22+
# httpx
23+
# requests
24+
cffi==1.17.1
25+
# via
26+
# cryptography
27+
# pynacl
28+
charset-normalizer==3.4.2
29+
# via requests
30+
click==8.2.1
31+
# via
32+
# -r .\dev_requirements\requirements-json_schemas.in
33+
# black
34+
# typer
35+
colorama==0.4.6
36+
# via click
37+
cryptography==45.0.5
38+
# via pyjwt
39+
datamodel-code-generator==0.31.2
40+
# via bo4e-cli
41+
deprecated==1.2.18
42+
# via pygithub
43+
genson==1.3.0
44+
# via datamodel-code-generator
45+
greenlet==3.2.3
46+
# via sqlalchemy
47+
h11==0.16.0
48+
# via httpcore
49+
httpcore==1.0.9
50+
# via httpx
51+
httpx==0.28.1
52+
# via bo4e-cli
53+
idna==3.10
54+
# via
55+
# anyio
56+
# httpx
57+
# requests
58+
inflect==7.5.0
59+
# via datamodel-code-generator
60+
isort==6.0.1
61+
# via datamodel-code-generator
62+
jinja2==3.1.6
63+
# via datamodel-code-generator
64+
markdown-it-py==3.0.0
65+
# via rich
66+
markupsafe==3.0.2
67+
# via jinja2
68+
mdurl==0.1.2
69+
# via markdown-it-py
70+
more-itertools==10.7.0
71+
# via
72+
# bo4e-cli
73+
# inflect
74+
mypy-extensions==1.1.0
75+
# via black
76+
networkx==3.5
77+
# via bo4e-cli
78+
packaging==25.0
79+
# via
80+
# black
81+
# datamodel-code-generator
82+
pathspec==0.12.1
83+
# via black
84+
platformdirs==4.3.8
85+
# via black
86+
pycparser==2.22
87+
# via cffi
88+
pydantic==2.11.7
89+
# via
90+
# bo4e-cli
91+
# datamodel-code-generator
92+
# sqlmodel
93+
pydantic-core==2.33.2
94+
# via pydantic
95+
pyflakes==3.4.0
96+
# via autoflake
97+
pygithub==2.6.1
98+
# via bo4e-cli
99+
pygments==2.19.2
100+
# via rich
101+
pyjwt[crypto]==2.10.1
102+
# via pygithub
103+
pynacl==1.5.0
104+
# via pygithub
105+
pyyaml==6.0.2
106+
# via datamodel-code-generator
107+
requests==2.32.4
108+
# via pygithub
109+
rich==14.0.0
110+
# via typer
111+
shellingham==1.5.4
112+
# via typer
113+
sniffio==1.3.1
114+
# via anyio
115+
sqlalchemy==2.0.41
116+
# via sqlmodel
117+
sqlmodel==0.0.24
118+
# via bo4e-cli
119+
typeguard==4.4.4
120+
# via inflect
121+
typer==0.16.0
122+
# via bo4e-cli
123+
typing-extensions==4.14.1
124+
# via
125+
# anyio
126+
# pydantic
127+
# pydantic-core
128+
# pygithub
129+
# sqlalchemy
130+
# typeguard
131+
# typer
132+
# typing-inspection
133+
typing-inspection==0.4.1
134+
# via pydantic
135+
urllib3==2.5.0
136+
# via
137+
# pygithub
138+
# requests
139+
wrapt==1.17.2
140+
# via deprecated
Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
1-
# SHA1:0e15f8789b9d62fe90d1f1b0b6a7e32f13b99b19
21
#
3-
# This file is autogenerated by pip-compile-multi
4-
# To update, run:
2+
# This file is autogenerated by pip-compile with Python 3.12
3+
# by the following command:
54
#
6-
# pip-compile-multi
5+
# pip-compile '.\dev_requirements\requirements-linting.in'
76
#
8-
astroid==3.3.9
7+
astroid==3.3.10
98
# via pylint
10-
dill==0.3.8
9+
colorama==0.4.6
10+
# via pylint
11+
dill==0.4.0
1112
# via pylint
1213
isort==6.0.1
1314
# via pylint
1415
mccabe==0.7.0
1516
# via pylint
16-
platformdirs==4.2.0
17+
platformdirs==4.3.8
1718
# via pylint
1819
pylint==3.3.7
19-
# via -r requirements-linting.in
20-
tomlkit==0.12.4
20+
# via -r .\dev_requirements\requirements-linting.in
21+
tomlkit==0.13.3
2122
# via pylint

0 commit comments

Comments
 (0)