Skip to content

feat(🍨): add documentation (docs) flavor#1335

Open
Ron (rjaegers) wants to merge 3 commits into
mainfrom
feature/add-docs-flavor
Open

feat(🍨): add documentation (docs) flavor#1335
Ron (rjaegers) wants to merge 3 commits into
mainfrom
feature/add-docs-flavor

Conversation

@rjaegers

@rjaegers Ron (rjaegers) commented Jul 4, 2026

Copy link
Copy Markdown
Member

🚀 Hey, I have created a Pull Request

Description of changes

This pull request introduces a new development container setup for documentation work, including Docker configuration, dependency management, and editor customizations. The changes add all required files to build and use a dedicated devcontainer for documentation, ensuring consistent tooling and environment across contributors.

Devcontainer and Docker setup:

  • Added .devcontainer/docs/Dockerfile to define a documentation-focused container, installing required system packages and Python dependencies, and setting up the Python environment.
  • Added .devcontainer/docs/devcontainer.json to configure the devcontainer build process, environment variables, and VS Code customizations for the documentation workspace.
  • Added .devcontainer/docs-test/devcontainer.json for testing the documentation container using a prebuilt image.

Dependency management:

  • Introduced .devcontainer/docs/apt-requirements.json and .devcontainer/docs/requirements.in/.devcontainer/docs/requirements.txt to specify and lock system and Python package dependencies for the documentation environment. [1] [2] [3]

Editor and environment customizations:

  • Added .devcontainer/docs/devcontainer-metadata.json to configure remote environment variables and recommend VS Code extensions for documentation tasks.

✔️ Checklist

  • I have followed the contribution guidelines for this repository
  • I have added tests for new behavior, and have not broken any existing tests
  • I have added or updated relevant documentation
  • I have verified that all added components are accounted for in the SBOM

@rjaegers Ron (rjaegers) requested a review from a team as a code owner July 4, 2026 11:49
Copilot AI review requested due to automatic review settings July 4, 2026 11:49
# syntax=docker/dockerfile:1

ARG BASE_IMAGE=ghcr.io/philips-software/amp-devcontainer-base:edge
FROM ${BASE_IMAGE}

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new docs devcontainer flavor to provide a consistent tooling environment for documentation generation, and wires it into the repo’s CI/release automation alongside existing flavors.

Changes:

  • Introduces a new .devcontainer/docs flavor (Dockerfile, devcontainer configs, pinned apt + pip dependencies).
  • Adds docs integration tests and sample workspace inputs for PlantUML/Graphviz/SBDL.
  • Updates README, Dependabot, release templates, and multiple workflows to include the new docs image flavor.

Reviewed changes

Copilot reviewed 20 out of 20 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/docs/workspace/sample.sbdl Adds a sample SBDL requirement model used by docs integration tests.
test/docs/workspace/graph.dot Adds a sample Graphviz DOT input used by docs integration tests.
test/docs/workspace/diagram.puml Adds a sample PlantUML diagram used by docs integration tests.
test/docs/integration-tests.bats Adds version + functional tests for docs tooling (Graphviz/PlantUML/SBDL).
README.md Documents the new amp-devcontainer-docs flavor and updates flavor list/description.
.github/workflows/vulnerability-scan.yml Includes docs in the vulnerability scan flavor matrix.
.github/workflows/update-dependencies.yml Includes docs in dependency update matrices (apt + VS Code extensions).
.github/workflows/release-build.yml Includes docs in release note update matrix.
.github/workflows/pr-image-cleanup.yml Includes amp-devcontainer-docs (and base) in PR tag cleanup.
.github/workflows/image-cleanup.yml Includes amp-devcontainer-docs (and base) in image cleanup.
.github/workflows/build-push-test.yml Builds/tests the new docs flavor in CI.
.github/RELEASE_TEMPLATE.md Adds the amp-devcontainer-docs package row to release notes template.
.github/dependabot.yml Adds .devcontainer/docs to Dependabot update scope.
.devcontainer/docs/requirements.txt Adds pinned Python dependencies (pip-compile output) for docs tooling.
.devcontainer/docs/requirements.in Adds the input requirements set for pip-compile (currently sbdl).
.devcontainer/docs/Dockerfile Defines the docs container build (apt + pip installs, Python env setup).
.devcontainer/docs/devcontainer.json Adds the docs devcontainer configuration and editor customizations.
.devcontainer/docs/devcontainer-metadata.json Adds metadata and recommended extensions for docs work.
.devcontainer/docs/apt-requirements.json Adds pinned apt dependencies for docs tooling (Graphviz/PlantUML/pip).
.devcontainer/docs-test/devcontainer.json Adds a devcontainer config for testing the prebuilt docs image.

Comment on lines 18 to 22
matrix:
flavor: ["base", "cpp", "rust"]
flavor: [base, cpp, docs, rust]
# Using our own container is required since we need all package sources
# set-up correctly.
container: ghcr.io/philips-software/amp-devcontainer-${{ matrix.flavor }}:edge
Comment on lines +15 to +16
# Install the base system with all tool dependencies
RUN --mount=type=bind,source=.devcontainer/docs/apt-requirements.json,target=/tmp/apt-requirements.json \
Copilot AI review requested due to automatic review settings July 4, 2026 11:54
@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

📦 Container Size Analysis

Note

Comparing ghcr.io/philips-software/amp-devcontainer-base:edgeghcr.io/philips-software/amp-devcontainer-base:pr-1335

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 71.79 MB 71.79 MB 141 B (0%) 🔽
linux/arm64 70.09 MB 70.09 MB 185 B (0%) 🔽

@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ ACTION actionlint 23 0 0 0.23s
✅ DOCKERFILE hadolint 4 0 0 0.3s
✅ JSON npm-package-json-lint yes no no 0.58s
✅ JSON prettier 32 6 0 0 1.02s
✅ JSON v8r 32 0 0 13.8s
✅ MARKDOWN markdownlint 12 0 0 0 1.15s
✅ MARKDOWN markdown-table-formatter 12 0 0 0 0.34s
✅ REPOSITORY checkov yes no no 28.12s
✅ REPOSITORY gitleaks yes no no 1.01s
✅ REPOSITORY git_diff yes no no 0.01s
✅ REPOSITORY grype yes no no 55.46s
⚠️ REPOSITORY osv-scanner yes 1 no 0.83s
✅ REPOSITORY secretlint yes no no 2.07s
✅ REPOSITORY syft yes no no 2.43s
✅ REPOSITORY trivy yes no no 12.44s
✅ REPOSITORY trivy-sbom yes no no 0.29s
✅ REPOSITORY trufflehog yes no no 6.27s
⚠️ SPELL lychee 99 2 0 54.99s
✅ YAML prettier 32 0 0 0 1.29s
✅ YAML v8r 32 0 0 12.78s
✅ YAML yamllint 32 0 0 1.11s

Detailed Issues

⚠️ SPELL / lychee - 2 errors
📝 Summary
---------------------
🔍 Total..........143
🔗 Unique.........120
✅ Successful.....136
⏳ Timeouts.........0
🔀 Redirected......17
👻 Excluded.........0
❓ Unknown..........0
🚫 Errors...........2
⛔ Unsupported......2

Errors in .github/TOOL_VERSION_ISSUE_TEMPLATE.md
[403] https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads (at 38:7) | Rejected status code: 403 Forbidden

Errors in README.md
[404] https://github.com/orgs/philips-software/packages/container/package/amp-devcontainer-docs (at 57:3) | Rejected status code: 404 Not Found

Hint: Followed 17 redirects. You might want to consider replacing redirecting URLs with the resolved URLs. Use verbose mode (`-v`/`-vv`) to see redirection details.
Hint: You can configure accepted/rejected response codes with `-a` or `--accept`
⚠️ REPOSITORY / osv-scanner - 1 error
Scanning dir .
Starting filesystem walk for root: /
Scanned .devcontainer/docs/requirements.txt file and found 14 packages
Scanned .devcontainer/cpp/requirements.txt file and found 20 packages
Scanned package-lock.json file and found 73 packages
Scanned test/rust/workspace/cargo/Cargo.lock file and found 1 package
Scanned test/rust/workspace/test/Cargo.lock file and found 1 package
Scanned test/rust/workspace/cortex-m/Cargo.lock file and found 20 packages
Scanned test/rust/workspace/clippy/Cargo.lock file and found 1 package
Scanned test/rust/workspace/cortex-mf/Cargo.lock file and found 20 packages
End status: 94 dirs visited, 309 inodes visited, 8 Extract calls, 28.025384ms elapsed, 28.025615ms wall time

Total 2 packages affected by 2 known vulnerabilities (0 Critical, 0 High, 0 Medium, 0 Low, 2 Unknown) from 1 ecosystem.
0 vulnerabilities can be fixed.

+-----------------------------------+------+-----------+------------+---------+---------------+------------------------------------------+
| OSV URL                           | CVSS | ECOSYSTEM | PACKAGE    | VERSION | FIXED VERSION | SOURCE                                   |
+-----------------------------------+------+-----------+------------+---------+---------------+------------------------------------------+
| https://osv.dev/RUSTSEC-2026-0110 |      | crates.io | bare-metal | 0.2.5   | --            | test/rust/workspace/cortex-m/Cargo.lock  |
| https://osv.dev/RUSTSEC-2026-0110 |      | crates.io | bare-metal | 0.2.5   | --            | test/rust/workspace/cortex-mf/Cargo.lock |
+-----------------------------------+------+-----------+------------+---------+---------------+------------------------------------------+

Notices

📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining SECURITY_SUGGESTIONS: false)

See detailed reports in MegaLinter artifacts

You could have the same capabilities but better runtime performances if you use a MegaLinter flavor:

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@9.5.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,DOCKERFILE_HADOLINT,JSON_V8R,JSON_PRETTIER,JSON_NPM_PACKAGE_JSON_LINT,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_GRYPE,REPOSITORY_OSV_SCANNER,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@sonarqubecloud

sonarqubecloud Bot commented Jul 4, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
B Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 20 changed files in this pull request and generated 2 comments.

Comment on lines +15 to +21
# Install the base system with all tool dependencies
RUN --mount=type=bind,source=.devcontainer/docs/apt-requirements.json,target=/tmp/apt-requirements.json \
--mount=type=bind,source=.devcontainer/docs/requirements.txt,target=/tmp/requirements.txt \
--mount=type=cache,target=/cache,sharing=locked \
--mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
--mount=type=cache,target=/var/log,sharing=locked <<EOF
Comment on lines +28 to +42
# bats test_tags=Version,Pip
@test "pip version should be aligned with the expected version" {
EXPECTED_VERSION=$(get_expected_semver_for python3-pip)
INSTALLED_VERSION=$(pip --version | to_semver)

assert_equal "$INSTALLED_VERSION" "$EXPECTED_VERSION"
}

# bats test_tags=Version,Sbdl
@test "sbdl version should be aligned with the expected version" {
EXPECTED_VERSION=$(grep sbdl ${BATS_TEST_DIRNAME}/../../.devcontainer/docs/requirements.in | to_semver)
INSTALLED_VERSION=$(sbdl --version | to_semver)

assert_equal "$INSTALLED_VERSION" "$EXPECTED_VERSION"
}
Copilot AI review requested due to automatic review settings July 4, 2026 11:59
@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

📦 Container Size Analysis

Note

Comparing ghcr.io/philips-software/amp-devcontainer-docs:edgeghcr.io/philips-software/amp-devcontainer-docs:pr-1335

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 0 B 196.55 MB +196.55 MB (+∞) 🔼
linux/arm64 0 B 192.97 MB +192.97 MB (+∞) 🔼

@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

📦 Container Size Analysis

Note

Comparing ghcr.io/philips-software/amp-devcontainer-rust:edgeghcr.io/philips-software/amp-devcontainer-rust:pr-1335

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 468.61 MB 468.61 MB 48 B (0%) 🔽
linux/arm64 419.79 MB 419.79 MB 61 B (0%) 🔽

@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

📦 Container Size Analysis

Note

Comparing ghcr.io/philips-software/amp-devcontainer-cpp:edgeghcr.io/philips-software/amp-devcontainer-cpp:pr-1335

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 371.99 MB 371.99 MB 468 B (0%) 🔽
linux/arm64 352.19 MB 352.18 MB 353 B (0%) 🔽

@rjaegers Ron (rjaegers) temporarily deployed to acceptance-testing July 4, 2026 12:04 — with GitHub Actions Inactive

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 20 changed files in this pull request and generated 1 comment.

Comment on lines +12 to +14
teardown() {
popd
}
@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

📦 Container Size Analysis

Note

Comparing ghcr.io/philips-software/amp-devcontainer-embedded-cpp:edgeghcr.io/philips-software/amp-devcontainer-embedded-cpp:pr-1335

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 560.21 MB 560.21 MB 93 B (0%) 🔽
linux/arm64 538.89 MB 538.89 MB +43 B (+0%) 🔼

@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Test Results

 21 files  + 4   21 suites  +4   20m 47s ⏱️ + 3m 3s
 39 tests + 6   39 ✅ + 6  0 💤 ±0  0 ❌ ±0 
165 runs  +24  165 ✅ +24  0 💤 ±0  0 ❌ ±0 

Results for commit f9ce339. ± Comparison against base commit b117a80.

@rjaegers Ron (rjaegers) changed the title feat: add docs flavor feat(🍨): add documentation (docs) flavor Jul 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants