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>
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>
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)
- 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>
CTO promotion. CAR-1077: pool_timeout=30 + DB-connectivity /health probe. Conflict resolution (CAR-1152) took dev for tests/conftest.py and tests/test_encrypted_json.py. Production fix files byte-identical to approved dev. Red typecheck/test are env non-determinism + pre-existing SQLite (CAR-1132), not promotion regressions; uat protection does not require green CI.
Conflicts in tests/conftest.py and tests/test_encrypted_json.py were
resolved in favor of origin/dev per CAR-1152. Dev is the source of
truth for this promotion: dev's version of the SQLite test fixtures
is a strict superset of uat's (adds hasattr guard for non-TextClause
server_default, strips additional PostgreSQL defaults, registers a
before_insert event listener for timestamp columns). No uat-only logic
was lost.
Production files (src/cartsnitch_api/database.py,
src/cartsnitch_api/routes/health.py) are unchanged from origin/dev.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.