Conversation
There was a problem hiding this comment.
Pull request overview
This pull request refactors the ccache installation process in the C++ devcontainer to improve security and maintainability by adding checksum verification and moving installation logic to earlier build stages.
Changes:
- Added checksum verification for
ccachedownloads using SHA-256 hashes for both AMD64 and ARM64 architectures - Moved
ccachedownload and extraction to the multi-stage build process alongsidexwin - Removed the previous inline download-and-extract
ccacheinstallation step
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| ✅ ACTION | actionlint | 20 | 0 | 0 | 0.5s | |
| ✅ DOCKERFILE | hadolint | 3 | 0 | 0 | 0.66s | |
| ✅ GHERKIN | gherkin-lint | 6 | 0 | 0 | 2.36s | |
| ✅ JSON | npm-package-json-lint | yes | no | no | 0.48s | |
| ✅ JSON | prettier | 21 | 4 | 0 | 0 | 0.5s |
| ✅ JSON | v8r | 21 | 0 | 0 | 7.59s | |
| ✅ MARKDOWN | markdownlint | 12 | 0 | 0 | 0 | 0.93s |
| ✅ MARKDOWN | markdown-table-formatter | 12 | 0 | 0 | 0 | 0.25s |
| ✅ REPOSITORY | checkov | yes | no | no | 17.38s | |
| ✅ REPOSITORY | gitleaks | yes | no | no | 0.5s | |
| ✅ REPOSITORY | git_diff | yes | no | no | 0.01s | |
| ✅ REPOSITORY | grype | yes | no | no | 28.39s | |
| ✅ REPOSITORY | secretlint | yes | no | no | 0.91s | |
| ✅ REPOSITORY | syft | yes | no | no | 1.93s | |
| ✅ REPOSITORY | trivy | yes | no | no | 5.53s | |
| ✅ REPOSITORY | trivy-sbom | yes | no | no | 0.23s | |
| ✅ REPOSITORY | trufflehog | yes | no | no | 2.34s | |
| lychee | 80 | 4 | 0 | 21.68s | ||
| ✅ YAML | prettier | 28 | 0 | 0 | 0 | 0.91s |
| ✅ YAML | v8r | 28 | 0 | 0 | 7.71s | |
| ✅ YAML | yamllint | 28 | 0 | 0 | 0.9s |
Detailed Issues
⚠️ SPELL / lychee - 4 errors
[IGNORED] docker://pandoc/extra:3.7.0@sha256:a703d335fa237f8fc3303329d87e2555dca5187930da38bfa9010fa4e690933a | Unsupported: Error creating request client: builder error for url (docker://pandoc/extra:3.7.0@sha256:a703d335fa237f8fc3303329d87e2555dca5187930da38bfa9010fa4e690933a)
[ERROR] https://www.conventionalcommits.org/en/v1.0.0/ | Network error: error sending request for url (https://www.conventionalcommits.org/en/v1.0.0/) Maybe a certificate error?
[ERROR] https://www.conventionalcommits.org/en/v1.0.0/ | Error (cached)
[403] https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads | Network error: Forbidden
[ERROR] https://docs.sigstore.dev/cosign/signing/overview/ | Network error: error sending request for url (https://docs.sigstore.dev/cosign/signing/overview/) Maybe a certificate error?
[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)
📝 Summary
---------------------
🔍 Total..........126
✅ Successful.....120
⏳ Timeouts.........0
🔀 Redirected.......0
👻 Excluded.........0
❓ Unknown..........0
🚫 Errors...........4
Errors in .github/CONTRIBUTING.md
[ERROR] https://www.conventionalcommits.org/en/v1.0.0/ | Network error: error sending request for url (https://www.conventionalcommits.org/en/v1.0.0/) Maybe a certificate error?
Errors in .github/TOOL_VERSION_ISSUE_TEMPLATE.md
[403] https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads | Network error: Forbidden
Errors in README.md
[ERROR] https://www.conventionalcommits.org/en/v1.0.0/ | Error (cached)
[ERROR] https://docs.sigstore.dev/cosign/signing/overview/ | Network error: error sending request for url (https://docs.sigstore.dev/cosign/signing/overview/) Maybe a certificate error?
See detailed reports in MegaLinter artifacts
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.3.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,DOCKERFILE_HADOLINT,GHERKIN_GHERKIN_LINT,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
|
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
Pull Request Report (#1100)Static measures
Time related measures
Status check related measures
|
|
🎉 Hooray! The changes in this pull request went live with the release of v6.7.1 🎉 |




🚀 Hey, I have created a Pull Request
Description of changes
This pull request updates the
.devcontainer/cpp/Dockerfileto improve how theccachebinary is downloaded, extracted, and installed in the development container. The changes streamline the build process by movingccachehandling into earlier build stages and removing redundant installation steps.Key improvements to the container build process:
ccache integration and installation:
ccachebinary in both thedownloader-amd64anddownloader-arm64stages, ensuring the correct binary is used for each architecture.extractorstage to extract theccachebinary from the downloaded archive and prepare it for installation.ccachebinary into/usr/local/bin/ccachealongsidexwin.ccacheinstallation command that downloaded and extractedccachein the final image, since this is now handled in earlier stages.General Dockerfile improvements:
✔️ Checklist