Skip to content

chore: verify checksum for arm-gcc toolchain#1108

Merged
Ron (rjaegers) merged 13 commits intomainfrom
chore/verify-arm-gcc-signatures
Feb 26, 2026
Merged

chore: verify checksum for arm-gcc toolchain#1108
Ron (rjaegers) merged 13 commits intomainfrom
chore/verify-arm-gcc-signatures

Conversation

@rjaegers
Copy link
Member

@rjaegers Ron (rjaegers) commented Jan 28, 2026

🚀 Hey, I have created a Pull Request

Description of changes

This pull request updates the devcontainer Dockerfiles to improve reliability and security of the build process, and refactors the installation of the ARM GNU toolchain. The most important changes are grouped below:

Shell safety and reliability improvements:

  • Changed shell invocation in various Dockerfile steps to use set -Eeuo pipefail, which ensures stricter error handling and catches more issues during builds. This change was applied to .devcontainer/base/Dockerfile and .devcontainer/cpp/Dockerfile steps. [1] [2]

  • Updated the shell used in the extractor stage of .devcontainer/cpp/Dockerfile to /bin/bash -Eeuo pipefail -c, further improving script robustness.

ARM GNU toolchain installation refactor:

  • Moved the download and extraction of the ARM GNU toolchain from a direct install in the main stage to the extractor stage. The new process downloads the toolchain, verifies its SHA256 checksum based on architecture, and extracts it (excluding unnecessary files), then copies it into the final image. [1] [2]

  • Removed the previous inline download-and-extract command for the ARM GNU toolchain in favor of copying the pre-extracted toolchain directory from the extractor stage.

These changes collectively make the build process more robust and secure, and streamline the installation of critical toolchain dependencies.

✔️ 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 January 28, 2026 16:48
Copilot AI review requested due to automatic review settings January 28, 2026 16:48
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 pull request enhances the ARM GCC toolchain installation process in the C++ devcontainer by pre-downloading the toolchain archives during the build stage and verifying their integrity with checksums. The changes eliminate the runtime wget download, improve build performance through apt caching, and ensure the correct architecture-specific toolchain is available.

Changes:

  • Added ARM GNU toolchain downloads with SHA256 checksums for both x86_64 and aarch64 architectures in the downloader stages
  • Consolidated toolchain extraction into the main RUN instruction with apt caching enabled
  • Replaced the separate wget-based ARM toolchain installation with extraction from pre-downloaded archives

@github-actions
Copy link
Contributor

github-actions bot commented Jan 28, 2026

⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ ACTION actionlint 21 0 0 0.56s
✅ DOCKERFILE hadolint 3 0 0 0.7s
✅ GHERKIN gherkin-lint 6 0 0 2.68s
✅ JSON npm-package-json-lint yes no no 0.42s
✅ JSON prettier 21 4 0 0 0.52s
✅ JSON v8r 21 0 0 8.06s
✅ MARKDOWN markdownlint 12 0 0 0 1.09s
✅ MARKDOWN markdown-table-formatter 12 0 0 0 0.26s
✅ REPOSITORY checkov yes no no 18.27s
✅ REPOSITORY gitleaks yes no no 0.58s
✅ REPOSITORY git_diff yes no no 0.01s
✅ REPOSITORY grype yes no no 30.34s
✅ REPOSITORY secretlint yes no no 0.97s
✅ REPOSITORY syft yes no no 1.93s
✅ REPOSITORY trivy yes no no 7.44s
✅ REPOSITORY trivy-sbom yes no no 0.25s
✅ REPOSITORY trufflehog yes no no 2.21s
⚠️ SPELL lychee 81 3 0 23.68s
✅ YAML prettier 29 0 0 0 1.06s
✅ YAML v8r 29 0 0 8.12s
✅ YAML yamllint 29 0 0 0.82s

Detailed Issues

⚠️ SPELL / lychee - 3 errors
[ERROR] https://www.contributor-covenant.org/ | Network error: error sending request for url (https://www.contributor-covenant.org/) Maybe a certificate error?
[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)
[403] https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads | Network error: Forbidden
[ERROR] https://slsa.dev/spec/v1.0/verifying-artifacts | Network error: error sending request for url (https://slsa.dev/spec/v1.0/verifying-artifacts) 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.....121
⏳ Timeouts.........0
🔀 Redirected.......0
👻 Excluded.........0
❓ Unknown..........0
🚫 Errors...........3

Errors in test/cpp/features/security.feature
[ERROR] https://slsa.dev/spec/v1.0/verifying-artifacts | Network error: error sending request for url (https://slsa.dev/spec/v1.0/verifying-artifacts) Maybe a certificate error?

Errors in .github/CODE_OF_CONDUCT.md
[ERROR] https://www.contributor-covenant.org/ | Network error: error sending request for url (https://www.contributor-covenant.org/) 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

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

MegaLinter is graciously provided by OX Security

@github-actions
Copy link
Contributor

github-actions bot commented Jan 28, 2026

📦 Container Size Analysis

Note

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

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 175.16 MB 175.16 MB 684 B (0%) 🔽
linux/arm64 167.63 MB 167.63 MB 194 B (0%) 🔽

@github-actions
Copy link
Contributor

github-actions bot commented Jan 28, 2026

Test Results

 7 files  ±0   7 suites  ±0   4m 14s ⏱️ - 2m 6s
33 tests ±0  33 ✅ ±0  0 💤 ±0  0 ❌ ±0 
69 runs  ±0  69 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 0280e71. ± Comparison against base commit 987ba93.

♻️ This comment has been updated with latest results.

Copilot AI review requested due to automatic review settings January 29, 2026 06: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

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

Copilot AI review requested due to automatic review settings January 29, 2026 09:31
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

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

Copilot AI review requested due to automatic review settings February 26, 2026 13:40
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

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

Copilot AI review requested due to automatic review settings February 26, 2026 13:52
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

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

Copilot AI review requested due to automatic review settings February 26, 2026 15:36
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

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

@github-actions
Copy link
Contributor

github-actions bot commented Feb 26, 2026

📦 Container Size Analysis

Note

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

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 555.58 MB 555.57 MB 638 B (0%) 🔽
linux/arm64 509.75 MB 509.75 MB 16 B (0%) 🔽

@github-actions
Copy link
Contributor

github-actions bot commented Feb 26, 2026

📦 Container Size Analysis

Note

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

📈 Size Comparison Table

OS/Platform Previous Current Change Trend
linux/amd64 696.88 MB 696.86 MB 16.43 kB (0%) 🔽
linux/arm64 677.68 MB 677.67 MB 13.24 kB (0%) 🔽

@rjaegers Ron (rjaegers) changed the title chore: verify signature for arm-gcc toolchain chore: verify checksum for arm-gcc toolchain Feb 26, 2026
@sonarqubecloud
Copy link

@rjaegers Ron (rjaegers) added this pull request to the merge queue Feb 26, 2026
Merged via the queue into main with commit 094efc5 Feb 26, 2026
49 checks passed
@rjaegers Ron (rjaegers) deleted the chore/verify-arm-gcc-signatures branch February 26, 2026 18:53
@github-actions
Copy link
Contributor

Pull Request Report (#1108)

Static measures

Description Value
Number of added lines 20
Number of deleted lines 11
Number of changed files 2
Number of commits 13
Number of reviews 7
Number of comments (w/o review comments) 6
Number of reviews that contains a comment to resolve 6
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 5

Time related measures

Description Value
PR lead time (from creation to close of PR) 29.1 Days
Time that was spend on the branch before the PR was created 1.6 Min
Time that was spend on the branch before the PR was merged 29.1 Days
Time to merge after last review 3.2 Hours

Status check related measures

Description Value
Total runtime for last status check run (Workflow for PR) 50.8 Min
Total time spend in last status check run on PR 41.3 Min

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