chore(deps): update ccache to v4.13.1 in amp-devcontainer-cpp#1201
chore(deps): update ccache to v4.13.1 in amp-devcontainer-cpp#1201Ron (rjaegers) merged 7 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the C++ devcontainer to use ccache v4.13.1 and strengthens supply-chain verification by downloading/validating the corresponding .minisig signature and verifying the tarball during the build, while also adding BuildKit APT cache mounts to speed up rebuilds.
Changes:
- Bump
CCACHE_VERSIONfrom 4.12.2 to 4.13.1. - Download
.minisigfiles for ccache artifacts (amd64/arm64) and verify the tarball withminisign. - Add BuildKit cache mounts for APT metadata/caches during the extractor stage.
You can also share your feedback on Copilot code review. Take the survey.
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| ✅ ACTION | actionlint | 23 | 0 | 0 | 0.25s | |
| ✅ DOCKERFILE | hadolint | 3 | 0 | 0 | 0.27s | |
| ✅ JSON | npm-package-json-lint | yes | no | no | 0.53s | |
| ✅ JSON | prettier | 21 | 4 | 0 | 0 | 0.67s |
| ✅ JSON | v8r | 21 | 0 | 0 | 9.51s | |
| ✅ MARKDOWN | markdownlint | 12 | 0 | 0 | 0 | 1.3s |
| ✅ MARKDOWN | markdown-table-formatter | 12 | 0 | 0 | 0 | 0.34s |
| ✅ REPOSITORY | checkov | yes | no | no | 25.99s | |
| ✅ REPOSITORY | gitleaks | yes | no | no | 1.13s | |
| ✅ REPOSITORY | git_diff | yes | no | no | 0.05s | |
| ✅ REPOSITORY | grype | yes | no | no | 45.46s | |
| ✅ REPOSITORY | secretlint | yes | no | no | 1.99s | |
| ✅ REPOSITORY | syft | yes | no | no | 2.43s | |
| ✅ REPOSITORY | trivy | yes | no | no | 14.62s | |
| ✅ REPOSITORY | trivy-sbom | yes | no | no | 0.47s | |
| ✅ REPOSITORY | trufflehog | yes | no | no | 7.37s | |
| lychee | 83 | 8 | 0 | 21.29s | ||
| ✅ YAML | prettier | 31 | 0 | 0 | 0 | 1.34s |
| ✅ YAML | v8r | 31 | 0 | 0 | 11.1s | |
| ✅ YAML | yamllint | 31 | 0 | 0 | 1.2s |
Detailed Issues
⚠️ SPELL / lychee - 8 errors
[IGNORED] docker://pandoc/extra:3.9.0.0-ubuntu@sha256:72afa9c8d3300e5f10c9c4330e101725687f2179bffd912fb859c6d2ae85de62 | Unsupported: Error creating request client: builder error for url (docker://pandoc/extra:3.9.0.0-ubuntu@sha256:72afa9c8d3300e5f10c9c4330e101725687f2179bffd912fb859c6d2ae85de62)
[ERROR] https://www.contributor-covenant.org/version/2/0/code_of_conduct.html | Network error: error sending request for url (https://www.contributor-covenant.org/version/2/0/code_of_conduct.html) Maybe a certificate error?
[403] https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads | Network error: Forbidden
[IGNORED] https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/philips-software/amp-devcontainer | Unsupported: Error creating request client: builder error for url (vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/philips-software/amp-devcontainer)
[429] https://github.com/philips-software/amp-devcontainer/blob/main/README.md | Network error: Too Many Requests
[429] https://github.com/philips-software/amp-devcontainer/blob/main/LICENSE | Network error: Too Many Requests
[429] https://github.com/philips-software/amp-devcontainer/blob/main/.github/CONTRIBUTING.md | Network error: Too Many Requests
[429] https://github.com/philips-software/amp-devcontainer/blob/main/README.md | Network error: Too Many Requests
[429] https://github.com/philips-software/amp-devcontainer/blob/main/LICENSE | Network error: Too Many Requests
[429] https://github.com/opencontainers/image-spec/blob/main/spec.md | Network error: Too Many Requests
📝 Summary
---------------------
🔍 Total..........126
✅ Successful.....116
⏳ Timeouts.........0
🔀 Redirected.......0
👻 Excluded.........0
❓ Unknown..........0
🚫 Errors...........8
Errors in .github/TOOL_VERSION_ISSUE_TEMPLATE.md
[403] https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads | Network error: Forbidden
Errors in templates/rust/devcontainer-template.json
[429] https://github.com/philips-software/amp-devcontainer/blob/main/README.md | Network error: Too Many Requests
[429] https://github.com/philips-software/amp-devcontainer/blob/main/LICENSE | Network error: Too Many Requests
Errors in .github/PULL_REQUEST_TEMPLATE.md
[429] https://github.com/philips-software/amp-devcontainer/blob/main/.github/CONTRIBUTING.md | Network error: Too Many Requests
Errors in test/cpp/features/compatibility.feature
[429] https://github.com/opencontainers/image-spec/blob/main/spec.md | Network error: Too Many Requests
Errors in .github/CODE_OF_CONDUCT.md
[ERROR] https://www.contributor-covenant.org/version/2/0/code_of_conduct.html | Network error: error sending request for url (https://www.contributor-covenant.org/version/2/0/code_of_conduct.html) Maybe a certificate error?
Errors in templates/cpp/devcontainer-template.json
[429] https://github.com/philips-software/amp-devcontainer/blob/main/README.md | Network error: Too Many Requests
[429] https://github.com/philips-software/amp-devcontainer/blob/main/LICENSE | Network error: Too Many Requests
See detailed reports in MegaLinter artifacts
You could have the same capabilities but better runtime performances if you use a MegaLinter flavor:
- oxsecurity/megalinter/flavors/salesforce@v9.4.0 (58 linters)
- oxsecurity/megalinter/flavors/javascript@v9.4.0 (61 linters)
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.4.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_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

Show us your support by starring ⭐ the repository
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
There was a problem hiding this comment.
Pull request overview
Updates the C++ devcontainer image to use a newer ccache release and strengthens supply-chain verification during the build, while also improving rebuild speed via APT caching.
Changes:
- Bump
CCACHE_VERSIONto4.13.1and update related artifact checksums. - Download and checksum-verify
ccache.minisigfiles, then verify the tarball withminisignbefore extraction. - Add BuildKit cache mounts for APT metadata during the extractor stage to speed repeated builds.
You can also share your feedback on Copilot code review. Take the survey.
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
Signed-off-by: Ron <45816308+rjaegers@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates the C++ devcontainer image build to use a newer ccache release and strengthen verification of the downloaded ccache artifact during image build, while also improving build performance via APT cache mounts.
Changes:
- Bump
CCACHE_VERSIONfrom4.12.2to4.13.1and switch to the*-glibcrelease artifacts for amd64/arm64. - Add
.minisigsignature downloads (with checksums) and verify theccachetarball viaminisignbefore extraction. - Add persistent BuildKit cache mounts for APT state in the extractor stage to speed up rebuilds.
You can also share your feedback on Copilot code review. Take the survey.
|
Pull Request Report (#1201)Static measures
Time related measures
Status check related measures
|



🚀 Hey, I have created a Pull Request
Description of changes
This pull request updates the C++ development container's Dockerfile to improve security and reliability when installing
ccache, as well as updating to a newer version. The most important changes are grouped below:ccache version update and verification improvements:
CCACHE_VERSIONfrom4.12.2to4.13.1to use the latest release..minisigsignature files for both x86_64 and aarch64ccachebinaries, enhancing the authenticity verification of the downloaded binaries. [1] [2]minisignand added a step to verify the downloadedccachetarball using its signature before extracting, improving supply chain security. [1] [2]Build performance:
✔️ Checklist