Skip to content

Commit a6fc37c

Browse files
authored
Merge branch 'main' into dependabot/devcontainers/ghcr.io/devcontainers/features/node-1.7.1
2 parents cca6026 + ea82a10 commit a6fc37c

15 files changed

+432
-72
lines changed

.devcontainer/cpp/devcontainer-metadata.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
"marus25.cortex-debug@1.12.1",
1010
"mhutchie.git-graph@1.30.0",
1111
"ms-vscode.cmake-tools@1.22.28",
12-
"ms-vscode.cpptools@1.31.3",
13-
"ms-vsliveshare.vsliveshare@1.0.5959",
14-
"sonarsource.sonarlint-vscode@4.45.0"
12+
"ms-vscode.cpptools@1.31.4",
13+
"ms-vsliveshare.vsliveshare@1.1.122",
14+
"sonarsource.sonarlint-vscode@5.0.0"
1515
],
1616
"settings": {
1717
"C_Cpp.intelliSenseEngine": "disabled",

.devcontainer/cpp/devcontainer.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,16 @@
3636
"extensions": [
3737
"alexkrechik.cucumberautocomplete@3.1.0",
3838
"github.copilot@1.388.0",
39-
"github.vscode-github-actions@0.31.2",
40-
"github.vscode-pull-request-github@0.132.2",
39+
"github.vscode-github-actions@0.31.3",
40+
"github.vscode-pull-request-github@0.134.0",
4141
"jetmartin.bats@0.1.10",
4242
"kherring.bats-test-runner@0.1.3",
4343
"mhutchie.git-graph@1.30.0",
4444
"ms-azuretools.vscode-docker@2.0.0",
4545
"ms-playwright.playwright@1.1.17",
4646
"ms-vscode.cmake-tools@1.22.28",
47-
"ms-vscode.cpptools@1.31.3",
48-
"sonarsource.sonarlint-vscode@4.45.0",
47+
"ms-vscode.cpptools@1.31.4",
48+
"sonarsource.sonarlint-vscode@5.0.0",
4949
"usernamehw.errorlens@3.28.0"
5050
]
5151
}

.devcontainer/cpp/requirements.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
cmake==4.2.3
2-
conan==2.26.2
1+
cmake==4.3.0
2+
conan==2.27.0
33
gcovr==8.6

.devcontainer/cpp/requirements.txt

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -115,27 +115,27 @@ charset-normalizer==3.4.0 \
115115
--hash=sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079 \
116116
--hash=sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482
117117
# via requests
118-
cmake==4.2.3 \
119-
--hash=sha256:0c55af0e1b2db232a94a7c34e89f25f3dbf410a4669b11134d07de0bd7aad03e \
120-
--hash=sha256:1432016bf6cb533ff8833e0a434c640aa097ffd1a5c0e9341554c2c146050363 \
121-
--hash=sha256:2091e4c1b45e6e900dda4aebce1d3e912ddc3ba0c153dd6b35be0b18f7f2b2ce \
122-
--hash=sha256:22c85da6d4aacebb3ed649bb7dc2fc034c6744f25ed8a02537408fe3c914bf9e \
123-
--hash=sha256:2605260fa17826c138ad3d78cdc3c6250b860f6c957653e35208c11e2ca4ad91 \
124-
--hash=sha256:3a21c36a64f52737e37dbeda0ce76391156139d546d995ed0992c3d4bc306636 \
125-
--hash=sha256:56e88a69c95e6defafc8e68ba8b99ca9c4dd6e4c97e7f8039283fe263f1de3c9 \
126-
--hash=sha256:66dff80bc6c955592861f662abebc50ddc4d097bfd1630d496559f7e7017e769 \
127-
--hash=sha256:76eae39cd8855e80a2b485686f3539c39cba5c7eae49c4b634a15638d4edf39f \
128-
--hash=sha256:7a6bc333453c9f7614c7a6e664950d309a5e1f89fa98512d537d4fde27eb8fae \
129-
--hash=sha256:849ce056d644e1c84ba835976e8adc9777ccd2078d81ca80c20a933e4711b3f7 \
130-
--hash=sha256:8604578dd087631b1c829315e78e6c81d9549708df2085c89722d5be6174a71f \
131-
--hash=sha256:8e91b381aaea3c47110583dccc52f4562333d1accdbb806939f953c16e74ec0a \
132-
--hash=sha256:a7e63d254ef3df90299779f5b41bf84cef02fa864255c567356089ea7c382c65 \
133-
--hash=sha256:b243937103331a27e8fae4b9a72b4a852c281fb1339e76eef9e9915d4536c7c9 \
134-
--hash=sha256:c53c2a314a3723f0653c0f90aacca68267f0db003ca596bb2aa65e7fdafa31e2 \
135-
--hash=sha256:e3dfbaeffac5848dce60b62a93eecd96b7a3eb0af6d874efc4ec0edb72ec7a24 \
136-
--hash=sha256:e9d3761edc558b89321283c258f3bc036d2cda4c22ecfa181a25bb84e96afd4a \
137-
--hash=sha256:f3693c97daaeedc931c6c2ef67b7213e60ef8e51c11050b6a7f4628f5f2a7883
138-
# via -r requirements.in
118+
cmake==4.3.0 \
119+
--hash=sha256:02bdf1b58e0c720d9bde7e3189e02dc1bd9be9df5f88bc6f3d615cb905050528 \
120+
--hash=sha256:1f5d09679e62ea7b558bdf0854508df2395fb12b49e54149160e1d2e55938974 \
121+
--hash=sha256:2033c0c335f46bd01b431f5e37a528be28abf2458ca4fd17f5e7eb9cbdf19549 \
122+
--hash=sha256:2544b0bf54b5642c3450b716280942eae1607e09a31d28233e8aff71c146e300 \
123+
--hash=sha256:2a40ee9d4ee8c150b824ef5bb2452a383c398f6b7660bc2838aa21e627debd49 \
124+
--hash=sha256:3a1733fdaefa397f8ff721dcc6bf2e86f0397391841a5cfd6f77162694046b05 \
125+
--hash=sha256:5fd4bfbe40bc435202e88ff7d91c63293c5780e1f0d772cfc752880feb807e04 \
126+
--hash=sha256:712e87ad09ff6f078b0bef2edc26ac1ebadc9caf195fe5e9406b090fbdf2b4f5 \
127+
--hash=sha256:7259210f2465e602273e7e0bc45683a5b953c1dd46afb17534a63a7add9c3960 \
128+
--hash=sha256:807d337f57f44651a495667bb7b713fd33ec1d4fd0caca570651a1168e0b573b \
129+
--hash=sha256:830f9128ab7bbbe87e67937ac75ad15ff6a4c8a0d23fb349543a03cd640b5361 \
130+
--hash=sha256:8d2aa3aba4300f87c55ce47914e75db9dc927a638742b17573f619a9811bb0bf \
131+
--hash=sha256:92e807d39ffa54b4d8ab947a2444c42b00a3ccb3e00bd05b1ed0f728ae0c938c \
132+
--hash=sha256:9bdbdf9220226200f55a08e99faa0442f9ff2c95a93a2bb5f35a9d5196ddf87a \
133+
--hash=sha256:b25ef14e4ebc16219eeb199da2199fc526c011f9973e02e7c21c69bfd46ed752 \
134+
--hash=sha256:d31ea6a98f216695b80dba93251a5425cf21c622ac5390aba352cb0bb5a410ca \
135+
--hash=sha256:d73657ee1c99cb180540d275e159268fdf05d1b866d9f438182509b020bf590f \
136+
--hash=sha256:e3d83af988c4ad687201a531440dafb6bd145a696433a4e202ac6e2b3524059d \
137+
--hash=sha256:e43be697e00999a6a14f5aefb20d93e072785783e58f060ff8f767ea14e2a521
138+
# via -r cpp/requirements.in
139139
colorama==0.4.6 \
140140
--hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
141141
--hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
@@ -144,9 +144,9 @@ colorlog==6.8.2 \
144144
--hash=sha256:3e3e079a41feb5a1b64f978b5ea4f46040a94f11f0e8bbb8261e3dbbeca64d44 \
145145
--hash=sha256:4dcbb62368e2800cb3c5abd348da7e53f6c362dda502ec27c560b2e58a66bd33
146146
# via gcovr
147-
conan==2.26.2 \
148-
--hash=sha256:28bfbbd276935623f1b304811335acb9d2b8ce3a57aa649e432d10d4f51ce055
149-
# via -r requirements.in
147+
conan==2.27.0 \
148+
--hash=sha256:41a403c68f2990ffed8b3135769dcd393748f266991f42f048c0fb267bc9d205
149+
# via -r cpp/requirements.in
150150
distro==1.8.0 \
151151
--hash=sha256:02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8 \
152152
--hash=sha256:99522ca3e365cac527b44bde033f64c6945d90eb9f769703caaec52b09bbd3ff
@@ -158,7 +158,7 @@ fasteners==0.19 \
158158
gcovr==8.6 \
159159
--hash=sha256:b2e7042abca9321cadbab8a06eb34d19f801b831557b28cdc30a029313de8b9e \
160160
--hash=sha256:dbf9d87c38042752ad6f530aa8210427e22b526611bb7b7bfed0e81977d1f1ef
161-
# via -r requirements.in
161+
# via -r cpp/requirements.in
162162
idna==3.10 \
163163
--hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \
164164
--hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3

.devcontainer/rust/devcontainer-metadata.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
"vscode": {
77
"extensions": [
88
"mhutchie.git-graph@1.30.0",
9-
"ms-vsliveshare.vsliveshare@1.0.5959",
10-
"rust-lang.rust-analyzer@0.3.2836",
9+
"ms-vsliveshare.vsliveshare@1.1.119",
10+
"rust-lang.rust-analyzer@0.3.2845",
1111
"tamasfe.even-better-toml@0.21.2",
1212
"usernamehw.errorlens@3.28.0"
1313
]

.devcontainer/rust/devcontainer.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
},
2020
"extensions": [
2121
"github.copilot@1.388.0",
22-
"github.vscode-github-actions@0.31.2",
23-
"github.vscode-pull-request-github@0.132.2",
22+
"github.vscode-github-actions@0.31.3",
23+
"github.vscode-pull-request-github@0.134.0",
2424
"jetmartin.bats@0.1.10",
2525
"kherring.bats-test-runner@0.1.3",
2626
"mhutchie.git-graph@1.30.0",
2727
"ms-azuretools.vscode-docker@2.0.0",
28-
"rust-lang.rust-analyzer@0.3.2836",
29-
"sonarsource.sonarlint-vscode@4.45.0",
28+
"rust-lang.rust-analyzer@0.3.2845",
29+
"sonarsource.sonarlint-vscode@5.0.0",
3030
"tamasfe.even-better-toml@0.21.2",
3131
"usernamehw.errorlens@3.28.0"
3232
]

.github/workflows/release-build.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ jobs:
118118
generate-documents:
119119
name: 📄 Documentation
120120
uses: ./.github/workflows/wc-document-generation.yml
121+
with:
122+
is-release: true
121123
permissions:
122124
contents: read
123125

@@ -140,7 +142,7 @@ jobs:
140142
- name: Upload documents to release
141143
run: |
142144
set -Eeuo pipefail
143-
gh release upload "${REF_NAME}" ./*.pdf
145+
gh release upload "${REF_NAME}" ./*.pdf ./*.sbdl
144146
env:
145147
GH_REPO: ${{ github.repository }}
146148
GH_TOKEN: ${{ github.token }}

.github/workflows/wc-document-generation.yml

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ name: Document Generation
33

44
on:
55
workflow_call:
6+
inputs:
7+
is-release:
8+
description: Whether the workflow is running for a release.
9+
default: false
10+
type: boolean
611

712
permissions: {}
813

@@ -22,19 +27,54 @@ jobs:
2227
- name: Install dependencies
2328
run: |
2429
set -Eeuo pipefail
30+
2531
sudo apt-get update && sudo apt-get install --no-install-recommends -y plantuml
26-
python -m pip install gherkin-official==38.0.0 sbdl==1.21.3
32+
python -m pip install sbdl==1.22.7
2733
- name: Build & Validate SBDL model
28-
run: sbdl -m compile test/cpp/features/*.feature > amp-devcontainer.sbdl
29-
- name: Generate SRS document
30-
run: sbdl -m template-fill --template docs/templates/software-requirements-specification.md.j2 amp-devcontainer.sbdl > software-requirements-specification.md
31-
- uses: docker://pandoc/extra:3.9.0.0-ubuntu@sha256:72afa9c8d3300e5f10c9c4330e101725687f2179bffd912fb859c6d2ae85de62
34+
run: sbdl -m compile test/cpp/integration-tests.bats test/cpp/features/*.feature > amp-devcontainer.sbdl
35+
- name: Create document control context
36+
env:
37+
GITHUB_REF_NAME: ${{ github.ref_name }}
38+
IS_RELEASE: ${{ inputs.is-release }}
39+
run: |
40+
set -Eeuo pipefail
41+
42+
cat > document-control.sbdl <<SBDL
43+
#!sbdl
44+
doc_control is aspect {
45+
description is "Document control metadata"
46+
custom:version is "$(jq -r '.["."]' .release-please-manifest.json)"
47+
custom:generated_at is "[@DATE]"
48+
custom:git_sha is "[@GIT_COMMIT_HASH]"
49+
custom:git_ref is "${GITHUB_REF_NAME}"
50+
custom:sbdl_compiler_version is "[@COMPILER_VERSION]"
51+
custom:sbdl_dsl_version is "[@DSL_VERSION]"
52+
custom:is_release is "${IS_RELEASE}"
53+
}
54+
SBDL
55+
- name: 📄 Generate SRS document
56+
run: sbdl -m template-fill --set-config template_extensions_file docs/templates/jinja-extensions.py --template docs/templates/software-requirements-specification.md.j2 amp-devcontainer.sbdl document-control.sbdl > software-requirements-specification.md
57+
- name: 🧪 Generate STP document
58+
run: sbdl -m template-fill --set-config template_extensions_file docs/templates/jinja-extensions.py --template docs/templates/software-test-plan.md.j2 amp-devcontainer.sbdl document-control.sbdl > software-test-plan.md
59+
- name: 🧩 Generate RTM document
60+
run: sbdl -m template-fill --set-config template_extensions_file docs/templates/jinja-extensions.py --template docs/templates/requirements-traceability-matrix.md.j2 amp-devcontainer.sbdl document-control.sbdl > requirements-traceability-matrix.md
61+
- name: 📄 Generate SRS PDF
62+
uses: docker://pandoc/extra:3.9.0.0-ubuntu@sha256:72afa9c8d3300e5f10c9c4330e101725687f2179bffd912fb859c6d2ae85de62
3263
with:
3364
args: --template eisvogel --syntax-highlighting idiomatic --number-sections --output software-requirements-specification.pdf software-requirements-specification.md
65+
- name: 🧪 Generate STP PDF
66+
uses: docker://pandoc/extra:3.9.0.0-ubuntu@sha256:72afa9c8d3300e5f10c9c4330e101725687f2179bffd912fb859c6d2ae85de62
67+
with:
68+
args: --template eisvogel --syntax-highlighting idiomatic --number-sections --output software-test-plan.pdf software-test-plan.md
69+
- name: 🧩 Generate RTM PDF
70+
uses: docker://pandoc/extra:3.9.0.0-ubuntu@sha256:72afa9c8d3300e5f10c9c4330e101725687f2179bffd912fb859c6d2ae85de62
71+
with:
72+
args: --template eisvogel --syntax-highlighting idiomatic --number-sections --output requirements-traceability-matrix.pdf requirements-traceability-matrix.md
3473
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
3574
with:
3675
name: documents
3776
path: |
3877
*.pdf
3978
*.sbdl
79+
!document-control.sbdl
4080
retention-days: 2

docs/templates/jinja-extensions.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from datetime import datetime
2+
3+
def strftime_filter(value, fmt):
4+
if value.endswith('Z'):
5+
value = value[:-1] + '+00:00'
6+
7+
return datetime.fromisoformat(value).strftime(fmt)
8+
9+
filters = { 'strftime': strftime_filter }
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
| Property | Value |
2+
|-------------------|---------------------------------------------------------------------------------------------------------------------------|
3+
| Document version | {{ sbdl['doc_control']['custom:version'] }} |
4+
| Generation date | {{ sbdl['doc_control']['custom:generated_at'] | strftime('%Y-%m-%d') }} |
5+
| Source revision | {{ sbdl['doc_control']['custom:git_sha'] }} |
6+
| Source branch/tag | {{ sbdl['doc_control']['custom:git_ref'] }} |
7+
| Model | SBDL {{ sbdl['doc_control']['custom:sbdl_compiler_version'] }} (DSL {{ sbdl['doc_control']['custom:sbdl_dsl_version'] }}) |

0 commit comments

Comments
 (0)