Skip to content

Add generated TUS protocol contract canary#167

Draft
kvz wants to merge 52 commits into
mainfrom
tus-gen
Draft

Add generated TUS protocol contract canary#167
kvz wants to merge 52 commits into
mainfrom
tus-gen

Conversation

@kvz
Copy link
Copy Markdown
Member

@kvz kvz commented May 26, 2026

Experimental Status

Experimental work: this PR is part of an exploratory contract/generated docs and SDK effort, and is intentionally kept as a Draft while the approach is validated.

Why: this is the Android companion canary for the API2 contract generator work. tus-android-client delegates wire-level TUS behavior to tus-java-client, so this PR keeps protocol truth generated while proving the Android-specific resume-storage primitive is still covered.

What changed:

  • add a generated test-side TUS protocol/feature fixture from API2 contracts
  • add a Robolectric test that consumes the generated singleUploadLifecycle feature and verifies TusPreferencesURLStore satisfies the generated store-resume-url primitive
  • tidy the CI trigger block by removing a misplaced runs-on, adding ready_for_review, and enabling manual workflow_dispatch

Validation:

  • api2/bin/cli.ts contracts tus-sdks --no-motd --platform android --sdk-root ../tus-android-client --compare-existing
  • Local ./gradlew clean check --no-daemon is blocked on this workstation by missing Android SDK configuration (ANDROID_HOME/local.properties), so CI should be the Android build authority here.

Companion PRs (tus org only)

Notes

GHA note: PR events are present and the repo workflows are active, but GitHub Actions has not created pull_request suites for this human-authored branch. The branch adds workflow_dispatch/ready_for_review coverage where applicable; local generator checks remain the current validation signal.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant