Skip to content

Modify: CI JSON Workflows#808

Open
xsscx wants to merge 1 commit intomasterfrom
ci-add-iccjsonlib
Open

Modify: CI JSON Workflows#808
xsscx wants to merge 1 commit intomasterfrom
ci-add-iccjsonlib

Conversation

@xsscx
Copy link
Copy Markdown
Member

@xsscx xsscx commented Apr 10, 2026

Pull Request Checklist

#735 #777 #807 #809
IccProfLib version: 2.3.1.7+6594afa
IccLibXML version: 2.3.1.7+6594afa
IccLibJSON version: 2.3.1.7+6594afa

  • 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 April 10, 2026 03:51
@xsscx xsscx self-assigned this Apr 10, 2026
@xsscx xsscx requested review from dwtza and maxderhak as code owners April 10, 2026 03:51
@xsscx xsscx added PR Pull Request Merge Ready Maintainer indicates Merge Ready labels Apr 10, 2026
@xsscx xsscx removed request for dwtza and maxderhak April 10, 2026 03:51
@xsscx xsscx changed the title fix: IccJSON security hardening, CodeQL queries, CI workflows, testing Modify: CI JSON Workflows Apr 10, 2026
@xsscx xsscx force-pushed the ci-add-iccjsonlib branch from b64a31f to baa91a4 Compare April 10, 2026 03:54
@xsscx
Copy link
Copy Markdown
Member Author

xsscx commented Apr 10, 2026

PR Author Summary

2026-04-10 04:04:28 UTC

  • Modifies most workflows to include JSON Build & Packaging
  • Adds sorted json output args for fingerprinting
  • Uses nullptr to null the danglers
  • Onboards CI Test Files for JSON
  • Fixes Compiler Warnings
  • Modifies Example Project for JSON
  • Modifies iccDLL Server for JSON
  • Corrects CMakeLists.txt
  • Corrects .bat & .sh
  • Doxygen Workflow
  • CodeQL for JSON
  • Housekeeping
  • Git GC

JSON to Blob to JSON Test

  • [OK] Round-trip test complete: PASS=132 DIFF=75 SKIP=0 TOTAL=207

Resolved

2026-04-10 05:57:25 UTC

This was in ci-build-matrix and now added to ci-pr-action as part of PR Screening.

[ 50%] Building CXX object CMakeFiles/hello-iccdev.dir/hello-iccdev.cpp.o
In file included from /Users/runner/work/iccDEV/iccDEV/examples/hello-iccdev/hello-iccdev.cpp:29:
/Users/runner/work/iccDEV/iccDEV/IccJSON/IccLibJSON/IccProfileJson.h:64:10: fatal error: 'nlohmann/json.hpp' file not found
   64 | #include <nlohmann/json.hpp>
      |          ^~~~~~~~~~~~~~~~~~~
1 error generated.

2026-04-10 04:29:36 UTC

https://github.com/InternationalColorConsortium/iccDEV/actions/workflows/ci-tool-tests.yml

Verified Fingerprinting

2026-04-10 05:43:37 UTC
@xsscx

  -- === Project Configuration Summary ===
  --   Project Name       : RefIccMAX
  --   Internal Name (UP) : REFICCMAX
  --   Version (Full)     : 2.3.1.7
  --   Version (Short)    : 2.3
  --   Version (Build)    : 2.3.1.7+8250b0d
  --   Git Commit         : 8250b0d
  --   C++ Standard       : C++17
  --   Description        : Developer tools for ICC color profiles.
  -- =========================================
  
Built 17 tool binaries
  - Tools/IccApplyNamedCmm/iccApplyNamedCmm
  - Tools/IccApplyProfiles/iccApplyProfiles
  - Tools/IccApplySearch/iccApplySearch
  - Tools/IccApplyToLink/iccApplyToLink
  - Tools/IccDumpProfile/iccDumpProfile
  - Tools/IccFromCube/iccFromCube
  - Tools/IccFromJson/iccFromJson
  - Tools/IccFromXml/iccFromXml
  - Tools/IccJpegDump/iccJpegDump
  - Tools/IccPngDump/iccPngDump
  - Tools/IccRoundTrip/iccRoundTrip
  - Tools/IccSpecSepToTiff/iccSpecSepToTiff
  - Tools/IccTiffDump/iccTiffDump
  - Tools/IccToJson/iccToJson
  - Tools/IccToXml/iccToXml
  - Tools/IccV5DspObsToV4Dsp/iccV5DspObsToV4Dsp
  - Tools/wxProfileDump/iccDumpProfileGui
lrwxrwxrwx 1 runner runner  19 Apr 10 05:40 IccProfLib/libIccProfLib2.so -> libIccProfLib2.so.2
lrwxrwxrwx 1 runner runner  25 Apr 10 05:40 IccProfLib/libIccProfLib2.so.2 -> libIccProfLib2.so.2.3.1.7
-rwxr-xr-x 1 runner runner 21M Apr 10 05:40 IccProfLib/libIccProfLib2.so.2.3.1.7
lrwxrwxrwx 1 runner runner   15 Apr 10 05:40 IccXML/libIccXML2.so -> libIccXML2.so.2
lrwxrwxrwx 1 runner runner   21 Apr 10 05:40 IccXML/libIccXML2.so.2 -> libIccXML2.so.2.3.1.7
-rwxr-xr-x 1 runner runner 6.2M Apr 10 05:40 IccXML/libIccXML2.so.2.3.1.7
lrwxrwxrwx 1 runner runner  16 Apr 10 05:41 IccJSON/libIccJSON2.so -> libIccJSON2.so.2
lrwxrwxrwx 1 runner runner  22 Apr 10 05:41 IccJSON/libIccJSON2.so.2 -> libIccJSON2.so.2.3.1.7
-rwxr-xr-x 1 runner runner 13M Apr 10 05:41 IccJSON/libIccJSON2.so.2.3.1.7

Test Profile Generation

CreateAllProfiles.sh generated 370 test artifacts

iccDEV Tool Coverage Baseline

Metric Value
Total tests 83
Passed 67
Failed 16
ASAN findings 0
UBSAN findings 0
Pass rate 80%
[OK] No sanitizer findings

JSON Configuration Tests
31 tests covering -cfg mode for iccApplyNamedCmm, iccApplySearch, iccApplyProfiles

JSON CLI Exercise Tests
125 tests across 26 groups covering all JSON CLI options

LUT Visualizations
0 SVG + 0 TIFF via iccDumpProfile LUTS

LUT Text Exports
0 TSV files via iccDumpProfile TXTS

@xsscx xsscx linked an issue Apr 10, 2026 that may be closed by this pull request
@xsscx xsscx force-pushed the ci-add-iccjsonlib branch 4 times, most recently from 2f49885 to 37e4108 Compare April 10, 2026 06:36
@xsscx
Copy link
Copy Markdown
Member Author

xsscx commented Apr 10, 2026

Maintainer Summary

2026-04-10 06:47:23 UTC

QA Testing JSON

Resolved

2026-04-10T06:44:16.0376195Z [UBSAN] RunTests.sh
2026-04-10T06:44:16.0391733Z IccJSON/IccLibJSON/IccProfileJson.cpp:85:34: runtime error: implicit conversion from type 'int' of value -16 (32-bit, signed) to type 'icUInt32Number' (aka 'unsigned int') changed the value to 4294967280 (32-bit, unsigned)

@xsscx xsscx force-pushed the ci-add-iccjsonlib branch from b302620 to 371f7e9 Compare April 10, 2026 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Merge Ready Maintainer indicates Merge Ready pending PR Pull Request

Projects

None yet

1 participant