make verify
make live-testmake verify is the deterministic repo gate. It runs the Swift package tests with coverage enabled, enforces a 90% source line coverage floor across PutioSDK/Classes, then builds the package and the example-backed CocoaPods workspace.
make live-test is opt-in. It runs real API checks against a configured put.io test account and stays separate from the default verify path.
make verifyruns package-level SwiftPM testsmake verifyfails if source line coverage forPutioSDK/Classesdrops below90%make verifyexercises the asyncURLSessiontransport and decoded model slice throughPutioSDKTestsmake verifythen builds the Swift package and the example-backedPutioSDKCocoaPods schememake live-testruns live SwiftPM tests filtered toPutioSDKLiveTests- GitHub Actions currently runs only
make verify
Default example env file:
.env.example
Supported public runtime variables:
PUTIO_TOKEN_FIRST_PARTYPUTIO_ACCESS_TOKENPUTIO_TOKENPUTIO_CLIENT_IDPUTIO_BASE_URLPUTIO_1PASSWORD_RUNTIME_ITEM_IDPUTIO_1PASSWORD_RUNTIME_VAULT
The live harness prefers direct runtime variables first. Maintainers may also hydrate shared live credentials from a 1Password runtime item when OP_SERVICE_ACCOUNT_TOKEN, PUTIO_1PASSWORD_RUNTIME_ITEM_ID, and PUTIO_1PASSWORD_RUNTIME_VAULT are set. Keep concrete item names and secret locations out of public docs.
Current live targets cover:
- account info against the real API
- disposable folder create, delete, trash restore, and cleanup flows
- transfer list/count/info decode against the real API
- playback-adjacent subtitle decode and reversible start-from roundtrips for owned video fixtures
Allowed in make live-test:
- read-only account probes
- read-only transfer probes
- reversible playback resume mutations with cleanup
- disposable file and trash flows with cleanup
Excluded from make live-test:
- destructive account mutations
- trash emptying
- any mutation without cleanup