Skip to content

ci: preserve tool parity artifacts by path - #2417

Merged
xsscx merged 1 commit into
masterfrom
ci-qa-pr-docker-testing
Sep 5, 2026
Merged

ci: preserve tool parity artifacts by path#2417
xsscx merged 1 commit into
masterfrom
ci-qa-pr-docker-testing

Conversation

@xsscx

@xsscx xsscx commented Sep 5, 2026

Copy link
Copy Markdown
Member

PR Summary

#2275

Checklist

  • Signed all Commits in PR
  • Built locally according to docs/build.md
  • Followed the guidelines in Contributing document
  • Ran relevant CTest/profile tests from docs/ctest.md
  • Updated documentation for user-visible behavior changes
  • Ran sanitizer coverage for memory-safety or parser changes
  • Added or updated regression coverage for behavior changes
  • Attached a base...HEAD contract matrix for cross-cutting changes:
    producer, consumer, build/runtime behavior, platform/toolchain boundary,
    CI trigger, dependency owner, and local evidence
  • Reviewed active and suppressed automated findings from review threads and summaries
  • For Python package changes, followed docs/python-packaging-release.md for PR and merge requirements
  • Did not change maintainer-owned workflow, CTest, CPack, sanitizer, release, or security infrastructure unless requested by an iccDEV maintainer
  • New source files include the ICC copyright and BSD 3-Clause license header
  • Code style matches nearby code: 2-space indent, K&R braces, m_ members

Legal Requirements

All official software projects hosted by the International Color Consortium (ICC)
follows the open source software best practice policies. The International Color Consortium IP policy governs ICC specification development and contributions to ICC open source software. Software contributions are also covered by the Contributor License Agreement (CLA).

Contributor License Agreements

Developers who wish to contribute code to be considered for inclusion
in ICC software must first complete a Contributor License Agreement
(CLA)
.

There is no cost or membership requirement to sign the ICC Contributor License Agreement (CLA). Please note that this is different from membership in the International Color Consortium (ICC). If your organization relies on our projects, please become a member. Membership dues are an essential source of funding and investment for these projects.

  • If you are an individual writing the code on your own time and you are SURE you are the sole owner of any intellectual property you contribute, you can sign the CLA as an individual contributor.

  • If you are writing the code as part of your job, or if there is any possibility that your employer might think they own any intellectual property you create, then you should use the Corporate Contributor Licence Agreement

License

ICC software is licensed under the BSD 3-Clause "New" or "Revised" License. Contributions to ICC software projects should abide by that license unless otherwised specified or approved by the ICC.

Copyright Notices

All new source files must begin with the ICC Copyright notice and include or reference the BSD 3-Clause "New" or "Revised" License.

INTELLECTUAL PROPERTY & PATENTS

Participation in ICC's development activities is subject to ICC's Patent Policy.

Maintainer Review Required

If you have questions, contact a listed Maintainer.

@xsscx xsscx added this to the v2.3.2.4 milestone Sep 5, 2026
@xsscx xsscx self-assigned this Sep 5, 2026
@xsscx
xsscx requested a lite review from Copilot September 5, 2026 14:59
@github-actions github-actions Bot added Scripts Shell, PowerShell, or repository automation scripts Configuration Repository, CMake, YAML, JSON, or tool configuration ci Continuous integration workflow changes github-actions GitHub Actions workflow or action configuration Unix Linux, macOS, Bash, or POSIX shell scope pending CI checks still running labels Sep 5, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The changes directly fix the reported collision/coverage loss by switching intermediates/logs to path-derived keys and updating the consuming loops/scripts consistently.

Pull request overview

This PR addresses Issue #2275 by eliminating basename-based collisions in the Linux full-test “tool parity” sweeps, so XML intermediates and per-profile logs remain unique and round-trip coverage can’t silently drop profiles that share a filename.

Changes:

  • Key iccDumpProfile and iccToXml per-profile outputs by path relative to Testing/ (and create needed subdirectories) instead of flattening to basename.
  • Add a guard that fails CI if the number of successfully converted profiles doesn’t match the number of XML outputs produced.
  • Update iccFromXml round-trip and classification to traverse nested XML/log paths (and adjust manifest matching to remain basename-based).
File summaries
File Description
.github/workflows/_build-test-unix.yml Makes tool-parity logs/intermediates path-unique, adds output-count mismatch detection, and preserves nested log paths when collecting artifacts.
.github/scripts/iccdev-classify-fromxml-logs.sh Classifies nested fromxml logs recursively and maps them back to nested round-trip outputs while keeping expected-failure matching compatible with the existing manifest.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Lite

@xsscx
xsscx merged commit f186948 into master Sep 5, 2026
19 checks passed
@xsscx
xsscx deleted the ci-qa-pr-docker-testing branch September 5, 2026 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Continuous integration workflow changes Configuration Repository, CMake, YAML, JSON, or tool configuration github-actions GitHub Actions workflow or action configuration pending CI checks still running Scripts Shell, PowerShell, or repository automation scripts Unix Linux, macOS, Bash, or POSIX shell scope

Projects

None yet

2 participants