• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / storage / 38744448797
86%

Build:
DEFAULT BRANCH: master
Ran 15 Oct 2026 01:40PM UTC
Jobs 2
Files 319
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Oct 2026 01:38PM UTC coverage: 85.718%. Remained the same
38744448797

push

github

web-flow
test: extensive acceptance coverage for object versioning (#1425)

## Summary

Rebased onto `master` now that #1347 is merged, so this PR is a single
commit containing only the acceptance coverage.

- Adds `acceptance/specs/rest-object-versioning.test.ts`: 26 black-box
acceptance tests covering bucket versioning status transitions,
per-version upload history, SUSPENDED-era mutable-slot semantics, delete
markers/undelete, single and bulk delete (including hard-delete by
`versionId` with promotion of the previous version), copy/move under
versioning, and concurrency races.
- All database-state assertions go through the REST surface only
(`/object/info/...`, `/object/list-v2/...` with
`noncurrentVersions`/`deleteMarkers`), consistent with the acceptance
suite's black-box design.
- Adds a gated `versioning` acceptance capability
(`ACCEPTANCE_ENABLE_VERSIONING`) plus a `versioningStatus` option on
`createRestBucket`, and documents both in the README/API coverage doc
and `.env.acceptance.sample`.
- Plumbs `ACCEPTANCE_ENABLE_VERSIONING` into the remote acceptance job
the same way every other gated capability is, so it can be turned on for
remote targets via a repo variable.

The local CI legs pick the capability up automatically: they copy
`.env.acceptance.sample` (now sets `ACCEPTANCE_ENABLE_VERSIONING=true`)
and `.env.test.sample` (already sets `STORAGE_VERSIONING_ENABLED=true`),
and in multitenant mode the app-level flag short-circuits the per-tenant
`objectVersioning` check — so the spec really runs on all 18 local legs
rather than silently skipping.

### Review feedback addressed

- The documented "disable-after-enable rejection" contract is now
actually tested, from both `ENABLED` and `SUSPENDED`. Worth noting what
it turned out to be: `PUT /bucket/:id` does not accept `DISABLED` at all
(`updateBucket`'s schema enum is `['ENABLED', 'SUSPENDED']`), so the
request is refused by validation before `updateBucket`'s transition rule
in `src/storage/database/p... (continued)

7698 of 9483 branches covered (81.18%)

Branch coverage included in aggregate %.

13362 of 15086 relevant lines covered (88.57%)

861.12 hits per line

Jobs
ID Job ID Ran Files Coverage
1 rest-pg18 - 38744448797.1 15 Oct 2026 01:45PM UTC 299
63.72
GitHub Action Run
2 unit - 38744448797.2 15 Oct 2026 01:40PM UTC 313
67.31
GitHub Action Run
Source Files on build 38744448797
  • Tree
  • List 319
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #38744448797
  • ac6b3e57 on github
  • Prev Build on master (#38731867030)
  • Next Build on master (#38874556487)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc