Skip to content

Preflight: validate against c2pa-rs 0.91.0-rc.3 - #325

Draft
scouten-adobe wants to merge 6 commits into
mainfrom
test/c2pa-rs-0.91.0-rc.1
Draft

scouten-adobe wants to merge 6 commits into
mainfrom
test/c2pa-rs-0.91.0-rc.1

Conversation

@scouten-adobe

@scouten-adobe scouten-adobe commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Now that #326 has split out the reusable tooling and general test fixes, this PR is just the RC-specific part: it points c2pa-rs-preflight-ref.txt (added in #326) at a c2pa-rs release candidate tag, so test-c2pa-rs-source-build.yml builds the native library from that git tag and runs the full test suite against it on every push.

Depends on #326 — this PR's base is that branch, and it should be retargeted to main once #326 merges.

Update: now tracking rc.3

Originally pointed at c2pa-rc-v0.91.0-rc.1, which reproduced 8 failures per platform ('Valid' != 'Trusted' plus one SDK-version string mismatch) caused by trust.trust_anchors/trust.trust_config moving under a new trust.anchors[] array: the deprecated Settings::from_string() thread-local path (what c2pa_load_settings/our load_settings() use) wasn't migrating the legacy fields into the new schema.

Between rc.1 and rc.3, c2pa-rs fixed exactly that — contentauth/c2pa-rs#2663, landed with a regression test in sdk/src/settings/mod.rs. Rebuilt locally and reran the full suite against c2pa-rc-v0.91.0-rc.3: all 7 trust-config tests now pass. CI confirms the same across all 5 platforms (macOS, Linux x64/arm64, Windows x64/arm64) -- the only remaining failure is the expected test_sdk_version string check, which just compares against whatever's in the currently-pinned c2pa-native-version.txt (0.90.22) and isn't a real issue.

Test plan

  • Local build from c2pa-rc-v0.91.0-rc.3 source (macOS arm64) + full unit test suite: 443/444 pass (the 1 failure is the expected version-string check)
  • CI (resolve-ref + tests-unix/tests-windows matrix): same result on all 5 platforms
  • Once c2pa-rs 0.91.0 is fully released with prebuilt artifacts, this PR's job is done -- do the real version bump (c2pa-native-version.txt, plus migrate examples/read.py's trust config to the new schema) as its own PR, and delete c2pa-rs-preflight-ref.txt

🤖 Generated with Claude Code

@scouten-adobe scouten-adobe changed the title Test against c2pa-rs 0.91.0-rc.1 (built from source) DO NOT MERGE: Test against c2pa-rs 0.91.0-rc.1 (built from source) Sep 14, 2026
@scouten-adobe scouten-adobe changed the title DO NOT MERGE: Test against c2pa-rs 0.91.0-rc.1 (built from source) Test against c2pa-rs 0.91.0-rc.1 (built from source) Sep 14, 2026
@scouten-adobe scouten-adobe changed the title Test against c2pa-rs 0.91.0-rc.1 (built from source) Bump to c2pa-rs 0.91.0-rc.1 (build from source, adapt to breaking changes) Sep 14, 2026

@tmathern tmathern left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Comment thread .github/workflows/build.yml Outdated
Comment thread tests/test_unit_tests.py
Comment thread .github/workflows/test-c2pa-rs-source-build.yml Fixed
Comment thread .github/workflows/test-c2pa-rs-source-build.yml Fixed
Comment thread .github/workflows/test-c2pa-rs-source-build.yml Fixed
Comment thread .github/workflows/test-c2pa-rs-source-build.yml Fixed
Comment thread .github/workflows/test-c2pa-rs-source-build.yml Fixed
Comment thread .github/workflows/test-c2pa-rs-source-build.yml Fixed
Comment thread .github/workflows/test-c2pa-rs-source-build.yml Fixed
Comment thread .github/workflows/test-c2pa-rs-source-build.yml Fixed
@scouten-adobe

Copy link
Copy Markdown
Contributor Author

Re: examples/ -- examples/read.py uses the same old `trust.trust_anchors` flat schema as our test fixture did, so it'll need the same migration to `trust.anchors[]` whenever we actually bump to 0.91.0. Not needed for this PR though, since we're keeping the pin at 0.90.19 and it works fine there today.

@scouten-adobe
scouten-adobe changed the base branch from main to chore/rc-preflight-tooling September 17, 2026 20:13
@scouten-adobe
scouten-adobe force-pushed the test/c2pa-rs-0.91.0-rc.1 branch from df911f3 to 0ada45e Compare September 17, 2026 20:15
@scouten-adobe scouten-adobe changed the title Bump to c2pa-rs 0.91.0-rc.1 (build from source, adapt to breaking changes) Preflight: validate against c2pa-rs 0.91.0-rc.1 Sep 17, 2026
Base automatically changed from chore/rc-preflight-tooling to main September 17, 2026 21:56
@scouten-adobe scouten-adobe changed the title Preflight: validate against c2pa-rs 0.91.0-rc.1 Preflight: validate against c2pa-rs 0.91.0-rc.3 Sep 17, 2026
@scouten-adobe
scouten-adobe changed the base branch from main to fix/preflight-sdk-version-check September 17, 2026 23:03
@scouten-adobe
scouten-adobe force-pushed the test/c2pa-rs-0.91.0-rc.1 branch from 231803e to 204dbec Compare September 17, 2026 23:03
Base automatically changed from fix/preflight-sdk-version-check to main September 17, 2026 23:04
#327's parse_native_version() fix preferred c2pa-rs-preflight-ref.txt
whenever it existed in the checked-out tree. That broke the *real*
build.yml jobs on #325: that PR adds the ref file to the branch, so an
ordinary tests-unix/tests-windows run (which downloads and installs
the actual pinned release, unrelated to the preflight workflow) picked
up the file too and wrongly expected the RC's version string, failing
with e.g. "'0.91.0-rc.3' not found in '0.90.22'".

The file's mere presence was never a reliable signal -- only
test-c2pa-rs-source-build.yml's own "Run tests" step actually builds
from that ref. Gate on a new C2PA_PREFLIGHT_RUN env var that only that
step sets instead.

Verified locally: with the pinned 0.90.22 installed and no env var
set, all 444 tests pass regardless of whether
c2pa-rs-preflight-ref.txt happens to exist in the tree.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@scouten-adobe
scouten-adobe changed the base branch from main to fix/preflight-version-check-scope September 17, 2026 23:12
This is the entire diff this PR now carries on top of #328: pin the
preflight workflow at c2pa-rc-v0.91.0-rc.3 so it builds from that git
tag (no crates.io publish, no prebuilt GitHub release binaries for an
RC) and runs the full unit test suite against it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@scouten-adobe
scouten-adobe force-pushed the test/c2pa-rs-0.91.0-rc.1 branch from b3e9b9f to db4c140 Compare September 17, 2026 23:12
scouten-adobe added a commit that referenced this pull request Sep 17, 2026
#328)

#327's parse_native_version() fix preferred c2pa-rs-preflight-ref.txt
whenever it existed in the checked-out tree. That broke the *real*
build.yml jobs on #325: that PR adds the ref file to the branch, so an
ordinary tests-unix/tests-windows run (which downloads and installs
the actual pinned release, unrelated to the preflight workflow) picked
up the file too and wrongly expected the RC's version string, failing
with e.g. "'0.91.0-rc.3' not found in '0.90.22'".

The file's mere presence was never a reliable signal -- only
test-c2pa-rs-source-build.yml's own "Run tests" step actually builds
from that ref. Gate on a new C2PA_PREFLIGHT_RUN env var that only that
step sets instead.

Verified locally: with the pinned 0.90.22 installed and no env var
set, all 444 tests pass regardless of whether
c2pa-rs-preflight-ref.txt happens to exist in the tree.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Base automatically changed from fix/preflight-version-check-scope to main September 17, 2026 23:41
scouten-adobe and others added 4 commits September 17, 2026 16:41
This is the entire diff this PR now carries on top of #328: pin the
preflight workflow at c2pa-rc-v0.91.0-rc.3 so it builds from that git
tag (no crates.io publish, no prebuilt GitHub release binaries for an
RC) and runs the full unit test suite against it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants