feat: add gnuplot-qt, Qt6, mesa, xkbcommon, xcb libs, xwin splat, and aqtinstall to base image - #68
Conversation
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| ✅ ACTION | actionlint | 24 | 0 | 0 | 0.27s | |
| ✅ DOCKERFILE | hadolint | 3 | 0 | 0 | 0.26s | |
| ✅ JSON | npm-package-json-lint | yes | no | no | 0.41s | |
| ✅ JSON | prettier | 22 | 3 | 0 | 0 | 0.68s |
| ✅ JSON | v8r | 22 | 0 | 0 | 14.49s | |
| ✅ MARKDOWN | markdownlint | 12 | 0 | 0 | 0 | 1.22s |
| ✅ MARKDOWN | markdown-table-formatter | 12 | 1 | 0 | 0 | 0.35s |
| ✅ REPOSITORY | checkov | yes | no | no | 24.81s | |
| ✅ REPOSITORY | gitleaks | yes | no | no | 1.38s | |
| ✅ REPOSITORY | git_diff | yes | no | no | 0.01s | |
| ✅ REPOSITORY | grype | yes | no | no | 56.19s | |
| ✅ REPOSITORY | secretlint | yes | no | no | 2.17s | |
| ✅ REPOSITORY | syft | yes | no | no | 2.25s | |
| ✅ REPOSITORY | trivy | yes | no | no | 12.3s | |
| ✅ REPOSITORY | trivy-sbom | yes | no | no | 2.31s | |
| ✅ REPOSITORY | trufflehog | yes | no | no | 3.91s | |
| lychee | 86 | 1 | 0 | 21.26s | ||
| ✅ YAML | prettier | 32 | 0 | 0 | 0 | 1.32s |
| ✅ YAML | v8r | 32 | 0 | 0 | 11.97s | |
| ✅ YAML | yamllint | 32 | 0 | 0 | 1.16s |
Detailed Issues
⚠️ SPELL / lychee - 1 error
[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)
[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/embedded-pro/embedded-devcontainer | Unsupported: Error creating request client: builder error for url (vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/embedded-pro/embedded-devcontainer)
📝 Summary
---------------------
🔍 Total..........124
✅ Successful.....121
⏳ Timeouts.........0
🔀 Redirected.......0
👻 Excluded.........0
❓ Unknown..........0
🚫 Errors...........1
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
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
|
Fix these errors: #23 [stage-1 3/4] RUN xwin --accept-license splat --include-debug-libs --preserve-ms-arch-notation --output /winsdk && rm -rf /root/.xwin-cache
|
There was a problem hiding this comment.
Pull request overview
This PR expands the base devcontainer image to support Windows cross-compilation and Qt/graphics tooling by adding xwin-based Windows SDK provisioning and Qt6 dependencies (Linux + Windows).
Changes:
- Add xwin (v0.8.0) to the base image and use it during build to populate
/winsdk. - Add Qt/graphics-related apt dependencies (Qt6 dev, Mesa/OpenGL, X11-related libs, gnuplot-qt) plus
python3-pip. - Download and install Windows Qt (Qt 6.4.2 MSVC 2019) into
/opt/qt6-windowsusingaqtinstall, then remove aqtinstall.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
.devcontainer/base/Dockerfile |
Downloads xwin, installs it into the image, runs xwin splat to create /winsdk, and installs Windows Qt via aqtinstall. |
.devcontainer/base/apt-requirements.json |
Adds pinned apt packages for Qt6/graphics/X11 dependencies plus python3-pip. |
…v for aqtinstall - Add separate downloader-amd64 and downloader-arm64 stages to download the correct xwin binary for the target platform, fixing the "cannot execute binary file: Exec format error" on arm64 builds - Use a temporary Python venv for aqtinstall instead of system pip to avoid leaving transitive dependencies in the image - Replace python3-pip with python3-venv in apt-requirements.json
Fixed in the latest commit. The xwin download now uses architecture-aware stages (separate Also switched aqtinstall to use a temporary venv instead of system pip, and replaced |
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
📦 Container Size AnalysisNote Comparing 📈 Size Comparison Table
|
Test Results 12 files 12 suites 16m 6s ⏱️ Results for commit 0cc0957. ♻️ This comment has been updated with latest results. |
|
🎉 Hooray! The changes in this pull request went live with the release of v7.1.0 🎉 |
Adds Windows cross-compilation tooling and Qt/graphics dependencies to the base devcontainer image.
New apt packages
gnuplot-qt,qt6-base-dev,libgl1-mesa-dev,libxkbcommon-dev,libxkbcommon-x11-0,libxcb-xinerama0,libxcb-cursor0python3-venv(used to create a temporary venv for aqtinstall)Windows SDK via xwin
downloader-amd64/downloader-arm64keyed byTARGETARCH) to support multi-platform builds/usr/local/binxwin splat --include-debug-libs --preserve-ms-arch-notationpopulates/winsdkQt6 for Windows cross-compilation
win64_msvc2019_64to/opt/qt6-windows