Skip to content

Add: Dockerfiles for Packages#597

Merged
xsscx merged 1 commit intomasterfrom
dockerfiles
Feb 18, 2026
Merged

Add: Dockerfiles for Packages#597
xsscx merged 1 commit intomasterfrom
dockerfiles

Conversation

@xsscx
Copy link
Member

@xsscx xsscx commented Feb 11, 2026

Pull Request Checklist

#596

  • Have you followed the guidelines in Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same change?
  • Have you built your Pull Request locally with the Build Instructions?
  • Have you added or updated relevant tests?
  • Have you added or updated relevant docs?

@xsscx xsscx requested a review from ChrisCoxArt February 11, 2026 18:57
@xsscx xsscx self-assigned this Feb 11, 2026
Copilot AI review requested due to automatic review settings February 11, 2026 18:57
@xsscx xsscx added PR Pull Request Merge Ready Maintainer indicates Merge Ready Docker Docker Information CI labels Feb 11, 2026
@xsscx xsscx linked an issue Feb 11, 2026 that may be closed by this pull request
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 adds Docker containerization support for the iccDEV project, introducing two Dockerfiles to build and distribute iccDEV tools and libraries as container images. This aligns with issue #596 to create packages for the GitHub Container Registry.

Changes:

  • Added multi-stage Dockerfile for Ubuntu-based builds with ASAN/UBSAN instrumentation
  • Added Dockerfile.nixos for NixOS-based builds with wxWidgets support
  • Configured containers with pre-built iccDEV tools and libraries accessible via PATH

Reviewed changes

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

File Description
Dockerfile Multi-stage Ubuntu 26.04 build with Clang-18, ASAN, UBSAN, and automated test execution
Dockerfile.nixos NixOS-based single-stage build using nix-shell with full dependency management

@xsscx xsscx added Test Status Maintainer indicates TEST Status and removed Merge Ready Maintainer indicates Merge Ready labels Feb 11, 2026
@xsscx xsscx requested a review from dwtza as a code owner February 11, 2026 23:52
@xsscx xsscx requested a review from Copilot February 11, 2026 23:59
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 3 out of 3 changed files in this pull request and generated 4 comments.

@xsscx xsscx force-pushed the dockerfiles branch 2 times, most recently from d2a66d1 to adb5486 Compare February 12, 2026 00:16
@xsscx xsscx requested a review from Copilot February 12, 2026 00:29
@xsscx
Copy link
Member Author

xsscx commented Feb 12, 2026

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 3 out of 3 changed files in this pull request and generated 2 comments.

@xsscx xsscx requested a review from Copilot February 12, 2026 01:00
@xsscx xsscx added the Copilot Review Reviewed by Copilot label Feb 12, 2026
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 3 out of 3 changed files in this pull request and generated 4 comments.

/workspace/iccDEV/Build/Tools/IccTiffDump:\
/workspace/iccDEV/Build/Tools/IccToXml:\
/workspace/iccDEV/Build/Tools/IccV5DspObsToV4Dsp:\
/workspace/iccDEV/Build/Tools/wxProfileDump:\
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The PATH includes "/workspace/iccDEV/Build/Tools/wxProfileDump" but the actual executable built from this directory is named "iccDumpProfileGui" (as defined in Build/Cmake/Tools/wxProfileDump/CMakeLists.txt line 28). This PATH entry should point to the correct directory where iccDumpProfileGui is built, which is likely Build/Tools/wxProfileDump, but the tool name shown in the welcome message (line 99) is correct.

Copilot uses AI. Check for mistakes.
Copy link
Member Author

Choose a reason for hiding this comment

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

True Positive

Dockerfile Outdated
&& useradd -r -g iccdev -d /opt/iccdev -s /bin/bash iccdev \
&& chown -R iccdev:iccdev /opt/iccdev

ENV PATH="/opt/iccdev/Build/Tools/IccToXml:/opt/iccdev/Build/Tools/IccFromXml:/opt/iccdev/Build/Tools/IccDumpProfile:/opt/iccdev/Build/Tools/IccApplyNamedCmm:/opt/iccdev/Build/Tools/IccRoundTrip:/opt/iccdev/Build/Tools/IccFromCube:/opt/iccdev/Build/Tools/IccApplyProfiles:/opt/iccdev/Build/Tools/IccApplySearch:/opt/iccdev/Build/Tools/IccApplyToLink:/opt/iccdev/Build/Tools/IccPngDump:/opt/iccdev/Build/Tools/IccSpecSepToTiff:/opt/iccdev/Build/Tools/IccTiffDump:/opt/iccdev/Build/Tools/IccV5DspObsToV4Dsp:${PATH}"
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The PATH environment variable is missing the IccJpegDump tool directory. According to Build/Cmake/CMakeLists.txt line 1093-1094, IccJpegDump is built and should be included. Add "/opt/iccdev/Build/Tools/IccJpegDump" to the PATH to make the iccJpegDump executable available.

Suggested change
ENV PATH="/opt/iccdev/Build/Tools/IccToXml:/opt/iccdev/Build/Tools/IccFromXml:/opt/iccdev/Build/Tools/IccDumpProfile:/opt/iccdev/Build/Tools/IccApplyNamedCmm:/opt/iccdev/Build/Tools/IccRoundTrip:/opt/iccdev/Build/Tools/IccFromCube:/opt/iccdev/Build/Tools/IccApplyProfiles:/opt/iccdev/Build/Tools/IccApplySearch:/opt/iccdev/Build/Tools/IccApplyToLink:/opt/iccdev/Build/Tools/IccPngDump:/opt/iccdev/Build/Tools/IccSpecSepToTiff:/opt/iccdev/Build/Tools/IccTiffDump:/opt/iccdev/Build/Tools/IccV5DspObsToV4Dsp:${PATH}"
ENV PATH="/opt/iccdev/Build/Tools/IccToXml:/opt/iccdev/Build/Tools/IccFromXml:/opt/iccdev/Build/Tools/IccDumpProfile:/opt/iccdev/Build/Tools/IccApplyNamedCmm:/opt/iccdev/Build/Tools/IccRoundTrip:/opt/iccdev/Build/Tools/IccFromCube:/opt/iccdev/Build/Tools/IccApplyProfiles:/opt/iccdev/Build/Tools/IccApplySearch:/opt/iccdev/Build/Tools/IccApplyToLink:/opt/iccdev/Build/Tools/IccPngDump:/opt/iccdev/Build/Tools/IccJpegDump:/opt/iccdev/Build/Tools/IccSpecSepToTiff:/opt/iccdev/Build/Tools/IccTiffDump:/opt/iccdev/Build/Tools/IccV5DspObsToV4Dsp:${PATH}"

Copilot uses AI. Check for mistakes.
Copy link
Member Author

Choose a reason for hiding this comment

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

True Positive

@xsscx
Copy link
Member Author

xsscx commented Feb 12, 2026

This the result of a Copilot Suggestion:

Invalid workflow file: .github/workflows/ci-docker-latest.yml#L1
(Line: 38, Col: 19): Unrecognized function: 'toLower'. Located at position 1 within expression: toLower(github.repository_owner)

@xsscx xsscx added Pending Merge Maintainer indicates Merge Pending and requests no further changes Review in Process Issue is being Reviewed by Maintainers Test Status Maintainer indicates TEST Status and removed Review in Process Issue is being Reviewed by Maintainers Test Status Maintainer indicates TEST Status pending Pending Merge Maintainer indicates Merge Pending and requests no further changes labels Feb 18, 2026
@xsscx
Copy link
Member Author

xsscx commented Feb 18, 2026

Maintainer Review

2026-02-18 02:01:58 UTC

TODO

  1. Dockerfile lines 12,36: ubuntu:26.04 not pinned to digest
  2. Both Dockerfiles: git clone without commit pinning
  3. Dockerfile.nixos: runs as root (no USER directive)

@xsscx
Copy link
Member Author

xsscx commented Feb 18, 2026

Maintainer Notes

2026-02-18 02:46:56 UTC

Docker Reviews

To Approve a Code Review for Docker Container and related Workflows please validate:

  1. ubuntu:image must sha pin to commit
  2. Checkout steps must sha pin to commit
  3. Shell prologue is standardized on ci-pr-actions
  4. Required to include SBOM & Attest
  5. Zero ${{ }} in run blocks
  6. All matrix/needs via env:
  7. sanitize_line() on STEP_SUMMARY
  8. sanitize_print() on docker output
  9. No sanitize-sed.sh inside containers
  10. $GITHUB_ENV / $GITHUB_STEP_SUMMARY quoted
  11. COPY instead of git clone
  12. No root user

@xsscx xsscx added Merge Ready Maintainer indicates Merge Ready and removed Review in Process Issue is being Reviewed by Maintainers Test Status Maintainer indicates TEST Status labels Feb 18, 2026
@xsscx xsscx merged commit 8cfeaec into master Feb 18, 2026
48 checks passed
@xsscx xsscx added Merged Merged and removed Merge Ready Maintainer indicates Merge Ready pending labels Feb 18, 2026
@xsscx
Copy link
Member Author

xsscx commented Feb 18, 2026

Post Merge Summary

2026-02-18 03:11:57 UTC

  1. Docker Image for iccdev:latest pushed to Packages with Latest Tag
  2. Docker Image for iccdev-nixos:latest pushed to Packages with Latest Tag

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Copilot Review Reviewed by Copilot Docker Docker Information Merged Merged PR Pull Request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add: Dockerfile Configs for Packages

3 participants