Preflight: validate against c2pa-rs 0.91.0-rc.3 - #325
Draft
scouten-adobe wants to merge 6 commits into
Draft
scouten-adobe wants to merge 6 commits into
scouten-adobe wants to merge 6 commits into
Conversation
tmathern
reviewed
Sep 14, 2026
tmathern
left a comment
Collaborator
There was a problem hiding this comment.
Do the examples in https://github.com/contentauth/c2pa-python/tree/main/examples also need updates?
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. |
2 tasks
scouten-adobe
changed the base branch from
main
to
chore/rc-preflight-tooling
September 17, 2026 20:13
scouten-adobe
force-pushed
the
test/c2pa-rs-0.91.0-rc.1
branch
from
September 17, 2026 20:15
df911f3 to
0ada45e
Compare
3 tasks
scouten-adobe
changed the base branch from
main
to
fix/preflight-sdk-version-check
September 17, 2026 23:03
scouten-adobe
force-pushed
the
test/c2pa-rs-0.91.0-rc.1
branch
from
September 17, 2026 23:03
231803e to
204dbec
Compare
#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>
3 tasks
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
force-pushed
the
test/c2pa-rs-0.91.0-rc.1
branch
from
September 17, 2026 23:12
b3e9b9f to
db4c140
Compare
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>
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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, sotest-c2pa-rs-source-build.ymlbuilds 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
mainonce #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 bytrust.trust_anchors/trust.trust_configmoving under a newtrust.anchors[]array: the deprecatedSettings::from_string()thread-local path (whatc2pa_load_settings/ourload_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 againstc2pa-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 expectedtest_sdk_versionstring check, which just compares against whatever's in the currently-pinnedc2pa-native-version.txt(0.90.22) and isn't a real issue.Test plan
c2pa-rc-v0.91.0-rc.3source (macOS arm64) + full unit test suite: 443/444 pass (the 1 failure is the expected version-string check)resolve-ref+tests-unix/tests-windowsmatrix): same result on all 5 platformsc2pa-native-version.txt, plus migrateexamples/read.py's trust config to the new schema) as its own PR, and deletec2pa-rs-preflight-ref.txt🤖 Generated with Claude Code