Commit Graph

230 Commits

Author SHA1 Message Date
Coupon Carl 46b4ab138a Merge pull request 'Promote uat → main: CI/test fixes + dispose_engine regression test (CAR-1012/CAR-1330/CAR-1135/CAR-1357)' (#56) from uat into main
CI / lint (push) Successful in 7s
CI / typecheck (push) Successful in 19s
CI / test (push) Successful in 23s
CI / build-and-push (push) Successful in 1m12s
Promote uat → main: CI/test fixes + dispose_engine regression test + stale ANCHOR_DATE fix (CAR-1012/CAR-1330/CAR-1135/CAR-1357)
v2026.06.23
2026-06-23 12:58:12 +00:00
Coupon Carl 46e5d985ea Merge pull request 'Promote dev → uat: CI/typecheck fixes + dispose_engine regression test (CAR-1012/CAR-1330)' (#55) from dev into uat
CI / lint (push) Successful in 6s
CI / typecheck (push) Successful in 20s
CI / build-and-push (push) Successful in 1m7s
CI / test (push) Successful in 23s
CI / lint (pull_request) Successful in 5s
CI / typecheck (pull_request) Successful in 20s
CI / test (pull_request) Successful in 24s
CI / build-and-push (pull_request) Has been skipped
Promote dev → uat: CI/typecheck fixes + dispose_engine regression test + stale ANCHOR_DATE fix (CAR-1012/CAR-1330)
2026-06-23 12:52:13 +00:00
cs_carl 7c14b33799 fix(tests): use date.today() for seed ANCHOR_DATE to stay within 90-day trend window
CI / typecheck (push) Successful in 18s
CI / build-and-push (pull_request) Has been skipped
CI / lint (push) Successful in 8s
CI / lint (pull_request) Successful in 4s
CI / test (push) Successful in 22s
CI / test (pull_request) Successful in 21s
CI / build-and-push (push) Successful in 1m39s
CI / typecheck (pull_request) Successful in 32s
Hardcoded date(2026, 3, 15) fell outside the 90-day lookback on 2026-06-23,
causing test_public_trend_returns_data to see 0 data_points instead of >=2.
2026-06-23 12:50:40 +00:00
Barcode Betty 135064fc10 Merge pull request 'fix(ci): resolve dev lint + typecheck failures (CAR-1330)' (#48) from betty/car-1330-dev-ci-fix into dev
CI / lint (push) Successful in 7s
CI / typecheck (push) Successful in 18s
CI / test (push) Successful in 22s
CI / build-and-push (push) Successful in 1m6s
CI / lint (pull_request) Successful in 5s
CI / typecheck (pull_request) Successful in 25s
CI / test (pull_request) Failing after 22s
CI / build-and-push (pull_request) Has been skipped
2026-06-11 04:17:51 +00:00
Savannah Savings b141377b02 Merge pull request 'fix(api): document dispose_engine lazy import + regression test (CAR-1135)' (#45) from barcode-betty/fix-car-1135-dispose-engine into dev
CI / lint (push) Successful in 4s
CI / typecheck (push) Successful in 19s
CI / test (push) Successful in 23s
CI / build-and-push (push) Successful in 1m30s
2026-06-10 05:13:18 +00:00
Barcode Betty 9e2e2ece0c Merge pull request 'fix(ci): remove GHA cache + simplify Push to match auth (CAR-1357, CAR-1362)' (#54) from betty/car-1362-cache-remove-uat into uat
CI / lint (push) Successful in 4s
CI / typecheck (push) Successful in 20s
CI / test (push) Successful in 23s
CI / build-and-push (push) Successful in 1m28s
2026-06-10 04:19:04 +00:00
Barcode Betty 96ae9314bf fix(ci): remove GHA cache + simplify Push to match auth (CAR-1357, CAR-1362)
CI / lint (pull_request) Successful in 6s
CI / typecheck (pull_request) Successful in 20s
CI / test (pull_request) Successful in 26s
CI / build-and-push (pull_request) Has been skipped
Two related fixes for build-and-push on Gitea:

1. Drop `cache-from: type=gha` and `cache-to: type=gha,mode=max` from both
   Build and Push steps. `type=gha` is the GitHub Actions Cache backend,
   which does not exist on git.farh.net. The cache export failure was
   marking the Build step failed and skipping the Push step.

2. Simplify the Push step to match the proven-green `cartsnitch/auth/ci.yml`
   pattern: drop `file: ./Dockerfile` (default is `Dockerfile`) and
   `build-args: APT_CACHE_BUST=...` (only used to bust apt cache in stage 1
   of multi-stage build). With these extra params removed, the buildx
   "unknown" error after `pushing layers 0.2s done` resolves itself.

Combined diff: 6 lines removed from .gitea/workflows/ci.yml. This is a
config simplification only — no app code, no build context, no test
changes.

Validated on dev: PR #52 (cache removal) + PR #53 (Push simplification)
merged → run 3458 build-and-push success → image
`git.farh.net/cartsnitch/api:sha-a3a01eefe2e5a7fc4559b5c82ef76f91a7385a50`
present in the registry.

Refs: CAR-1362, CAR-1356, CAR-1330, CAR-1357.

Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-06-10 04:16:21 +00:00
Barcode Betty a3a01eefe2 Merge pull request 'fix(ci): simplify Push step to match auth pattern (CAR-1362)' (#53) from betty/car-1362-push-unknown-fix into dev
CI / lint (push) Successful in 4s
CI / typecheck (push) Successful in 18s
CI / test (push) Successful in 24s
CI / build-and-push (push) Successful in 1m45s
2026-06-10 04:10:58 +00:00
Barcode Betty 354e26295c fix(ci): simplify Push step to match auth pattern (CAR-1362)
CI / lint (pull_request) Successful in 5s
CI / typecheck (pull_request) Successful in 20s
CI / test (pull_request) Successful in 22s
CI / build-and-push (pull_request) Has been skipped
The Push Docker image step is failing post-merge of CAR-1362 with
buildx "unknown" error after layers push successfully. The pre-existing
failure was masked by the cache export error.

Simplify the Push step to match the proven-green cartsnitch/auth/ci.yml
pattern: drop `file: ./Dockerfile` (default) and `build-args:`
(APT_CACHE_BUST is only used to bust apt cache in stage 1 of multi-
stage build, not needed for the rebuilt image). Keep `if: github.event_name
== "push"` to skip on pull_request events.

Diff: 4 lines removed from .gitea/workflows/ci.yml Push step.

Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-06-10 04:08:53 +00:00
Barcode Betty 30a447674d Merge pull request 'fix(ci): remove GHA cache-from/cache-to (CAR-1357)' (#52) from betty/car-1362-remove-gha-cache-dev into dev
CI / lint (push) Successful in 6s
CI / typecheck (push) Successful in 18s
CI / test (push) Successful in 21s
CI / build-and-push (push) Failing after 1m8s
2026-06-09 18:03:04 +00:00
Barcode Betty 7a7d8f451e fix(ci): remove GHA cache-from/cache-to (CAR-1357)
CI / lint (pull_request) Successful in 9s
CI / typecheck (pull_request) Successful in 18s
CI / test (pull_request) Successful in 23s
CI / build-and-push (pull_request) Has been skipped
The build-and-push job fails post-merge of CAR-1356 REGISTRY_TOKEN fix:
cache-from/cache-to: type=gha backend does not exist on Gitea. Build
succeeds but post-build cache export fails and cascades to skipping the
Push Docker image step. Confirmed in uat run 3444 + dev run 3445.

Per CAR-1362, drop cache-from and cache-to from both Build and Push
Docker image steps. Matches proven-green cartsnitch/auth/ci.yml pattern.

Refs: CAR-1362, CAR-1356, CAR-1330, CAR-1357.

Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-06-09 18:01:21 +00:00
Barcode Betty 79e8baa609 fix(ci): use REGISTRY_TOKEN for build-and-push registry login (CAR-1330)
CI / lint (push) Successful in 4s
CI / typecheck (push) Successful in 17s
CI / test (push) Successful in 25s
CI / build-and-push (push) Failing after 54s
Squashed fix swaps github.token → secrets.REGISTRY_TOKEN at .gitea/workflows/ci.yml:121, matching the proven-green cartsnitch/auth pattern (CAR-1009). Parity fix with uat PR #49 to prevent reintroduction on next dev→uat promotion.

Note: includes 3 absorbed lint/typecheck commits from PR #48 (already merged to dev via #48) to unblock CI on this branch. No app code changes; one-line CI config swap only.

QA: PR #50 approved by @cs_charlie (review id 4616); CI run 3443 lint/typecheck/test all green.
Co-authored-by: Barcode Betty <32+cs_betty@noreply.git.farh.net>
Co-committed-by: Barcode Betty <32+cs_betty@noreply.git.farh.net>
2026-06-09 17:47:11 +00:00
Barcode Betty e41cd3c6f0 fix(ci): use REGISTRY_TOKEN for build-and-push registry login (CAR-1330)
CI / lint (push) Successful in 5s
CI / typecheck (push) Successful in 18s
CI / test (push) Successful in 21s
CI / build-and-push (push) Failing after 55s
Squashed fix swaps github.token → secrets.REGISTRY_TOKEN at .gitea/workflows/ci.yml:121, matching the proven-green cartsnitch/auth pattern (CAR-1009). Unblocks CAR-1132 production deploy by making the build-and-push job pass registry auth.

QA: PR #49 approved by @cs_charlie (review id 4615); CI run 3439 lint/typecheck/test all green.
Co-authored-by: Barcode Betty <32+cs_betty@noreply.git.farh.net>
Co-committed-by: Barcode Betty <32+cs_betty@noreply.git.farh.net>
2026-06-09 17:46:32 +00:00
cs_betty 8ace5f0f30 revert: undo accidental build-and-push token change (CAR-1356 fix scope creep)
CI / lint (push) Successful in 4s
CI / typecheck (push) Successful in 18s
CI / test (push) Successful in 23s
CI / build-and-push (push) Failing after 5s
Restoring line 121 to github.token until CAR-1356 PR branch is created
via the proper contents-API + new_branch flow.
2026-06-09 17:25:21 +00:00
cs_betty 02649a76d3 fix(ci): use REGISTRY_TOKEN for build-and-push registry login (CAR-1330)
CI / typecheck (push) Failing after 7s
CI / lint (push) Successful in 8s
CI / test (push) Successful in 22s
CI / build-and-push (push) Has been cancelled
2026-06-09 17:24:34 +00:00
Savannah Savings f687097ad1 Merge pull request 'fix(ci): resolve uat lint + typecheck failures (CAR-1340)' (#47) from betty/car-1340-uat-ci-fix into uat
CI / lint (push) Successful in 5s
CI / typecheck (push) Successful in 19s
CI / test (push) Successful in 23s
CI / build-and-push (push) Failing after 6s
fix(ci): resolve uat lint + typecheck failures (CAR-1340)

Merges betty/car-1340-uat-ci-fix into uat. Makes uat CI green to unblock CEO uat->main production merge for CAR-1132.

Reviewed-by: Checkout Charlie (QA, APPROVED)
Merged-by: Savannah Savings (CTO)
2026-06-09 11:23:33 +00:00
Barcode Betty 8deaf6e599 fix(ci): resolve dev lint + typecheck failures (CAR-1330)
CI / lint (pull_request) Successful in 5s
CI / typecheck (pull_request) Successful in 19s
CI / test (pull_request) Successful in 22s
CI / build-and-push (pull_request) Has been skipped
Three CI-blocking issues on dev branch (also present on uat, fixed in 2b20946):

1. tests/conftest.py — remove extra blank line (ruff format).
2. src/cartsnitch_api/middleware/rate_limit.py — delete duplicate
   _public_limiter/_auth_limiter/_auth_strict_limiter forward-decl block
   (the second occurrence; mypy no-redef).
3. src/cartsnitch_api/cache.py:38 — annotate
   value: str | bytes | None so mypy doesn't widen redis client return
   to Any (no-any-return).

Verified: ruff check . && ruff format --check . && mypy src/cartsnitch_api
all pass.

Sibling of CAR-1330 (which fixes uat directly). Heals dev so future
dev → uat promotions stay green.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-09 11:13:44 +00:00
Savannah Savings 806d30a064 fix(ci): resolve uat lint + typecheck failures (CAR-1340)
CI / lint (pull_request) Successful in 5s
CI / typecheck (pull_request) Successful in 18s
CI / test (pull_request) Successful in 22s
CI / build-and-push (pull_request) Has been skipped
- cache.py:38: Add explicit type annotation for redis.get() return value to resolve mypy no-any-return
- rate_limit.py: Remove duplicate forward-declaration block (dead code, mypy no-redef)
- conftest.py: Remove one excess blank line to satisfy ruff format check

All three fixes verified locally: ruff check , ruff format , mypy 

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-09 08:30:56 +00:00
Barcode Betty 7b595744e1 fix(api): mypy no-redef and no-any-return errors on dev (CAR-1335)
CI / lint (pull_request) Successful in 5s
CI / typecheck (pull_request) Successful in 18s
CI / test (pull_request) Successful in 22s
CI / build-and-push (pull_request) Has been skipped
The api typecheck job is continue-on-error but still posts a failure
status that blocks merges. Three pre-existing mypy errors on dev were
inherited by every PR based on it:

1. middleware/rate_limit.py: duplicate 'name already defined' for
   _public_limiter, _auth_limiter, _auth_strict_limiter (declared at
   lines 111-113 and again at 124-126). The second set is redundant
   because actual assignment happens inside the if/else below.
2. cache.py:43 - 'Returning Any' from .get(); the redis client's get()
   return type isn't narrowed to bytes|str, so the final 'return value'
   branch is Any. Wrap with str() to satisfy the declared str|None.
3. middleware/rate_limit.py:150 - 'Returning Any' from _get_client_ip.
   request.headers.get() and request.client.host are typed Any; wrap
   the branches with str() to match the declared str return.

Refs CAR-1335.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-09 05:25:41 +00:00
Barcode Betty 4877513bbf style: ruff format conformance (CAR-1335)
- tests/test_openapi.py: collapse 2 blank lines to 1 (ruff format)
- tests/conftest.py: collapse 2 blank lines to 1 (ruff format)

These format nits block lint (a hard gate). The conftest.py one was
introduced in CAR-1132 (#42) and would have blocked every subsequent PR
on dev until fixed.

Refs CAR-1335, CAR-1135.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-09 05:23:36 +00:00
Barcode Betty 9e46bdc460 fix(api): document dispose_engine lazy import + regression test (CAR-1135)
CI / lint (pull_request) Failing after 4s
CI / typecheck (pull_request) Failing after 18s
CI / test (pull_request) Successful in 22s
CI / build-and-push (pull_request) Has been skipped
- main.py: add docstring inside the lifespan function explaining why
  dispose_engine is lazy-imported rather than top-level. The original
  import path (top-level) crashed the container at import time with
  'ImportError: cannot import name dispose_engine from cartsnitch_api.database'
  when database.py was stale or stripped during a CI build. Lazy import
  keeps the engine disposal behavior while preventing the module-load
  crash.
- tests/test_openapi.py: add test_dispose_engine_importable_from_database
  that asserts dispose_engine is importable and callable. This is the
  exact path the deployed UAT image was failing on, captured as a
  regression test so a future regression lands in CI before deploy.

Refs CAR-1135.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-09 05:13:08 +00:00
Savannah Savings 81cb08263b Merge pull request 'Promote CAR-1132 (SQLite UUID binding fix) dev -> uat' (#46) from dev into uat
CI / lint (push) Failing after 4s
CI / typecheck (push) Failing after 17s
CI / test (push) Successful in 32s
CI / build-and-push (push) Has been skipped
2026-06-09 01:02:04 +00:00
Savannah Savings 3860a5d061 Merge pull request 'Fix CAR-1132: SQLite UUID binding and User.id defaults in test fixtures' (#42) from betty/car-1132-comprehensive-fix into dev
CI / lint (push) Failing after 7s
CI / typecheck (pull_request) Failing after 18s
CI / test (pull_request) Successful in 22s
CI / build-and-push (pull_request) Has been skipped
CI / build-and-push (push) Has been skipped
CI / typecheck (push) Failing after 17s
CI / lint (pull_request) Failing after 3s
CI / test (push) Successful in 22s
2026-06-09 01:01:09 +00:00
Barcode Betty 87f01b7a9e CAR-1283: align cache.py to dev (bytes-aware decode, drop str() cast)
CI / lint (pull_request) Successful in 27s
CI / typecheck (pull_request) Successful in 1m1s
CI / test (pull_request) Successful in 43s
CI / build-and-push (pull_request) Has been skipped
2026-06-06 02:02:51 +00:00
Barcode Betty 7a6cbd4ba7 CAR-1283: retrigger CI after test fix
CI / lint (pull_request) Failing after 4s
CI / typecheck (pull_request) Failing after 9s
CI / test (pull_request) Successful in 22s
CI / build-and-push (pull_request) Has been skipped
(Test fix in b37f6f5 changed static seed date to relative;
re-trigger to verify all 3 jobs on the new-image runner.)
2026-06-06 01:34:00 +00:00
Barcode Betty b37f6f52d6 CAR-1283: use relative seed date in test_public_trend
CI / lint (pull_request) Successful in 5m45s
CI / test (pull_request) Failing after 5m48s
CI / build-and-push (pull_request) Has been skipped
CI / typecheck (pull_request) Failing after 12m39s
The hardcoded date(2026, 3, 5) is now > 90 days before
date.today() (2026-06-06), so the default days=90 window
filters it out and the test fails. Use a relative date
(30 days ago) to keep the test green indefinitely.
2026-06-06 01:17:03 +00:00
Barcode Betty 183bc2df8e CAR-1283: ruff format conftest.py
CI / lint (pull_request) Failing after 3s
CI / typecheck (pull_request) Failing after 8s
CI / test (pull_request) Failing after 23s
CI / build-and-push (pull_request) Has been skipped
2026-06-06 00:48:22 +00:00
Barcode Betty 49383ae055 CAR-1283 rebase onto dev: update tests/test_routes/test_stores.py
CI / lint (pull_request) Failing after 4s
CI / typecheck (pull_request) Failing after 7s
CI / test (pull_request) Failing after 21s
CI / build-and-push (pull_request) Has been skipped
2026-06-06 00:39:43 +00:00
Barcode Betty 8d606e0606 CAR-1283 rebase onto dev: update tests/test_routes/test_purchases.py
CI / build-and-push (pull_request) Has been cancelled
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
2026-06-06 00:39:42 +00:00
Barcode Betty b418f4d2a7 CAR-1283 rebase onto dev: update tests/test_routes/test_public.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
2026-06-06 00:39:41 +00:00
Barcode Betty 47c6bfb546 CAR-1283 rebase onto dev: update tests/test_routes/test_products.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
2026-06-06 00:39:40 +00:00
Barcode Betty 9d8749672f CAR-1283 rebase onto dev: update tests/test_routes/test_prices.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
2026-06-06 00:39:39 +00:00
Barcode Betty 20daf56b65 CAR-1283 rebase onto dev: update tests/test_routes/test_coupons.py 2026-06-06 00:39:38 +00:00
Barcode Betty e743dddf0f CAR-1283 rebase onto dev: update tests/test_routes/test_alerts.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
2026-06-06 00:39:38 +00:00
Barcode Betty 5724168fd0 CAR-1283 rebase onto dev: update tests/test_openapi.py 2026-06-06 00:39:36 +00:00
Barcode Betty d6f33eea42 CAR-1283 rebase onto dev: update tests/test_middleware/test_rate_limit.py 2026-06-06 00:39:34 +00:00
Barcode Betty a8166be543 CAR-1283 rebase onto dev: update tests/test_middleware/test_error_handler.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
2026-06-06 00:39:33 +00:00
Barcode Betty 77ccf3eb82 CAR-1283 rebase onto dev: update tests/test_encrypted_json.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
2026-06-06 00:39:32 +00:00
Barcode Betty 7e71fb0e00 CAR-1283 rebase onto dev: update tests/test_e2e/test_purchase_flow.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
2026-06-06 00:39:31 +00:00
Barcode Betty 1623765e24 CAR-1283 rebase onto dev: update tests/test_e2e/test_public_endpoints.py 2026-06-06 00:39:30 +00:00
Barcode Betty 0ef2162711 CAR-1283 rebase onto dev: update tests/test_e2e/test_product_search_lookup.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
2026-06-06 00:39:30 +00:00
Barcode Betty cfcad8fc22 CAR-1283 rebase onto dev: update tests/test_e2e/test_price_history.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
2026-06-06 00:39:29 +00:00
Barcode Betty 80cc2ce2ca CAR-1283 rebase onto dev: update tests/test_e2e/test_error_responses.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
2026-06-06 00:39:28 +00:00
Barcode Betty d1a7317c92 CAR-1283 rebase onto dev: update tests/test_e2e/test_cross_resource_flow.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
2026-06-06 00:39:27 +00:00
Barcode Betty 6364f503e1 CAR-1283 rebase onto dev: update tests/test_e2e/test_auth_validation.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
2026-06-06 00:39:25 +00:00
Barcode Betty 4454b8f41f CAR-1283 rebase onto dev: update tests/test_e2e/conftest.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Blocked by required conditions
2026-06-06 00:39:24 +00:00
Barcode Betty cbe6786550 CAR-1283 rebase onto dev: update tests/test_config.py
CI / lint (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
CI / typecheck (pull_request) Successful in 26s
2026-06-06 00:39:23 +00:00
Barcode Betty b0f0280e43 CAR-1283 rebase onto dev: update tests/conftest.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Blocked by required conditions
2026-06-06 00:39:22 +00:00
Barcode Betty a9b73757d5 CAR-1283 rebase onto dev: update src/cartsnitch_api/schemas.py
CI / test (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
CI / lint (pull_request) Has been cancelled
2026-06-06 00:39:21 +00:00
Barcode Betty c243014cd1 CAR-1283 rebase onto dev: update src/cartsnitch_api/middleware/rate_limit.py
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
CI / build-and-push (pull_request) Has been cancelled
2026-06-06 00:39:19 +00:00