Skip to content

chore(deps): update ccache to v4.13.1 in amp-devcontainer-cpp#1201

Merged
Ron (rjaegers) merged 7 commits intomainfrom
feature/update-ccache
Mar 17, 2026
Merged

chore(deps): update ccache to v4.13.1 in amp-devcontainer-cpp#1201
Ron (rjaegers) merged 7 commits intomainfrom
feature/update-ccache

Conversation

@rjaegers
Copy link
Member

🚀 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:

  • Updated the CCACHE_VERSION from 4.12.2 to 4.13.1 to use the latest release.
  • Added download and checksum verification for the .minisig signature files for both x86_64 and aarch64 ccache binaries, enhancing the authenticity verification of the downloaded binaries. [1] [2]
  • Installed minisign and added a step to verify the downloaded ccache tarball using its signature before extracting, improving supply chain security. [1] [2]

Build performance:

  • Added persistent caching for APT package lists to speed up repeated builds.

✔️ 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 March 16, 2026 18:17
Copilot AI review requested due to automatic review settings March 16, 2026 18:17
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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_VERSION from 4.12.2 to 4.13.1.
  • Download .minisig files for ccache artifacts (amd64/arm64) and verify the tarball with minisign.
  • 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.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

⚠️MegaLinter analysis: Success with warnings

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
⚠️ SPELL 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:

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

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

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

📦 Container Size Analysis

Note

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

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 144.74 MB 144.74 MB 185 B (0%) 🔽
linux/arm64 137.1 MB 137.1 MB 243 B (0%) 🔽

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

Test Results

 13 files  ±0   13 suites  ±0   18m 55s ⏱️ +27s
 33 tests ±0   33 ✅ ±0  0 💤 ±0  0 ❌ ±0 
137 runs  ±0  137 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 971467d. ± Comparison against base commit 9c53d4a.

♻️ This comment has been updated with latest results.

Copilot AI review requested due to automatic review settings March 16, 2026 18:42
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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_VERSION to 4.13.1 and update related artifact checksums.
  • Download and checksum-verify ccache .minisig files, then verify the tarball with minisign before 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.

@rjaegers Ron (rjaegers) changed the title feat: update ccache to v4.13.1 chore(deps): update ccache to v4.13.1 in amp-devcontainer-cpp Mar 16, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

📦 Container Size Analysis

Note

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

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 455.23 MB 455.23 MB 177 B (0%) 🔽
linux/arm64 408.46 MB 408.46 MB +12 B (+0%) 🔼

@github-actions
Copy link
Contributor

github-actions bot commented Mar 16, 2026

📦 Container Size Analysis

Note

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

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 538.78 MB 538.77 MB 2.53 kB (0%) 🔽
linux/arm64 520.74 MB 520.74 MB +2.33 kB (+0%) 🔼

Signed-off-by: Ron <45816308+rjaegers@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 17, 2026 09:35
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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_VERSION from 4.12.2 to 4.13.1 and switch to the *-glibc release artifacts for amd64/arm64.
  • Add .minisig signature downloads (with checksums) and verify the ccache tarball via minisign before 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.

@sonarqubecloud
Copy link

@rjaegers Ron (rjaegers) added this pull request to the merge queue Mar 17, 2026
Merged via the queue into main with commit 618174e Mar 17, 2026
61 of 63 checks passed
@rjaegers Ron (rjaegers) deleted the feature/update-ccache branch March 17, 2026 14:48
@github-actions
Copy link
Contributor

Pull Request Report (#1201)

Static measures

Description Value
Number of added lines 22
Number of deleted lines 8
Number of changed files 1
Number of commits 7
Number of reviews 6
Number of comments (w/o review comments) 6
Number of reviews that contains a comment to resolve 5
Number of reviews that requested a change from the author 0
Number of reviews that approved the Pull Request 1
Get the total number of participants of a Pull Request 6

Time related measures

Description Value
PR lead time (from creation to close of PR) 20.5 Hours
Time that was spend on the branch before the PR was created 47 Sec
Time that was spend on the branch before the PR was merged 20.5 Hours
Time to merge after last review 5.2 Hours

Status check related measures

Description Value
Total runtime for last status check run (Workflow for PR) 1.2 Hours
Total time spend in last status check run on PR 2.4 Hours

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