Skip to content

Conversation

@xsscx
Copy link
Member

@xsscx xsscx commented Feb 8, 2026

ci-pr-actionWASM Build & Test MatrixLibFuzzer Smoke Test (60s)

Pull Request Checklist

(#203)

  • 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 self-assigned this Feb 8, 2026
@xsscx xsscx requested review from Copilot and removed request for dwtza February 8, 2026 08:08
@xsscx xsscx added WASM Web Assembly PR Pull Request Review in Process Issue is being Reviewed by Maintainers Test Status Maintainer indicates TEST Status libFuzzer libFuzzer Related CI labels Feb 8, 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

This PR integrates a fuzzing/ClusterFuzzLite workflow and related seed corpora into iccDEV, while updating parts of the CMake build to better support Emscripten/WASM constraints and static-only target consumption.

Changes:

  • Add libFuzzer harnesses, dictionaries/options, and seed corpus setup/testing scripts under Testing/Fuzzing/.
  • Add ClusterFuzzLite configuration (.clusterfuzzlite/*) and a GitHub Actions fuzzer smoke-test workflow.
  • Update CMake to generate version headers into the build directory and to improve portability for static-only builds / Emscripten.

Reviewed changes

Copilot reviewed 71 out of 159 changed files in this pull request and generated 19 comments.

Show a summary per file
File Description
Testing/mcs/Flexo-CMYKOGP/OMYK-SelectMID.icc Adds ICC profile asset for testing/corpus.
Testing/mcs/Flexo-CMYKOGP/CMYKOGP-MVIS-Smooth.icc Adds ICC profile asset for testing/corpus.
Testing/mcs/Flexo-CMYKOGP/CMYK-SelectMID.icc Adds ICC profile asset for testing/corpus.
Testing/mcs/Flexo-CMYKOGP/CMPK-SelectMID.icc Adds ICC profile asset for testing/corpus.
Testing/mcs/Flexo-CMYKOGP/CGYK-SelectMID.icc Adds ICC profile asset for testing/corpus.
Testing/mcs/Flexo-CMYKOGP/7ChanSelect-MID.icc Adds ICC profile asset for testing/corpus.
Testing/mcs/Flexo-CMYKOGP/4ChanSelect-MID.icc Adds ICC profile asset for testing/corpus.
Testing/Fuzzing/CMakeLists.txt Adds CMake targets/flags to build fuzzers when ENABLE_FUZZING=ON and using Clang.
Testing/Fuzzing/test-seed-corpus.sh Adds a script to validate fuzzer binaries/dicts/corpora presence.
Testing/Fuzzing/seed-corpus-setup.sh Adds a script to populate per-fuzzer seed corpora from an external fuzz directory.
Testing/Fuzzing/icc_*_fuzzer.cpp Adds multiple libFuzzer harnesses for key tools/codepaths (profile parsing, XML, CMM apply, etc.).
Testing/Fuzzing/icc_*.dict Adds/updates dictionaries used by fuzzers.
Testing/Fuzzing/icc_*.options Adds per-fuzzer runtime options files.
Testing/Fuzzing/_seed_corpus/ Adds seed corpus inputs for fuzzers.
Testing/Fuzzing/build-fuzzers.sh Adds a helper script to build selected fuzzers from existing build outputs.
Testing/CMakeLists.txt Adds a Testing CMake entry that conditionally includes fuzzing subdir when enabled.
Build/Cmake/Tools/IccPngDump/CMakeLists.txt Avoids adding system include dirs under Emscripten.
Build/Cmake/IccXML/CMakeLists.txt Generates version header in build dir and adds static-only alias target for consistent linking.
Build/Cmake/IccProfLib/CMakeLists.txt Generates version header in build dir and adds static-only alias target for consistent linking.
.github/workflows/ci-fuzzer-smoke-test.yml Adds a CI workflow to build and smoke-test fuzzers in a matrix.
.clusterfuzzlite/project.yaml Adds CFL project definition.
.clusterfuzzlite/fuzzer.options Adds CFL global fuzzer/ASan/UBSan/MSan options.
.clusterfuzzlite/build.sh Adds CFL build script for a smoke-test style build.
.clusterfuzzlite/build-minimal.sh Adds a minimal CFL build script for local/CFL validation.
.clusterfuzzlite/build-production.sh Adds a production CFL build script intended to build all fuzzers.
.clusterfuzzlite/Dockerfile Adds CFL builder image definition.
.clusterfuzzlite/corpus/* Adds CFL seed corpus inputs.
.clusterfuzzlite/corpus-xml/* Adds CFL XML seed corpus inputs.

@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 8, 2026
@xsscx xsscx linked an issue Feb 8, 2026 that may be closed by this pull request
@xsscx xsscx linked an issue Feb 8, 2026 that may be closed by this pull request
@xsscx xsscx force-pushed the cfl branch 2 times, most recently from 0f5214a to 972a65f Compare February 8, 2026 17:37
@xsscx
Copy link
Member Author

xsscx commented Feb 8, 2026

Cross Check

2026-02-08 18:04:30 UTC

Workflow Summary

@xsscx
Copy link
Member Author

xsscx commented Feb 11, 2026

Updated ci-latest-release

2026-02-11 01:38:56 UTC

Updated the Windows Zip Bundle into single Testing/ Directory with all .exe, dll, pdb etc.. to be more developer friendly.

  • Same with Unix Bundles
  • Included path.cmd and path.sh

Job https://github.com/InternationalColorConsortium/iccDEV/actions/runs/21905632491

Let me know if any changes.

@xsscx xsscx linked an issue Feb 11, 2026 that may be closed by this pull request
Added a step to stage bundle contents into the Testing directory, including copying files and generating helper scripts.
@xsscx xsscx linked an issue Feb 11, 2026 that may be closed by this pull request
Updated paths for copying dynamic libraries and executables in CI workflow. Adjusted comments and improved script for generating path helpers.
@xsscx xsscx linked an issue Feb 11, 2026 that may be closed by this pull request
@xsscx xsscx changed the title Add: WASM, Fuzzers Modify: Workflows & CMake for Toolchains, Add WASM, CFL & LibFuzzer Feb 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI libFuzzer libFuzzer Related Merge Ready Maintainer indicates Merge Ready pending PR Pull Request WASM Web Assembly

Projects

None yet

1 participant