 poimenandrock
|
d7a36ce9e8
|
ci: optimize build + deploy + migrate workflows (#51)
CI / CI (push) Successful in 12m12s
Deploy / Tag & Push Latest (push) Successful in 54s
## Optimize CI/CD Workflows
### Changes
#### build.yaml
- **Merge 3 cargo steps → 1 compile pass**: `cargo build`, `cargo test`, `cargo clippy` now run in single invocation, reusing compiled artifacts
- **Remove `cargo clean`**: Eliminated wasteful step that deleted artifacts before Docker build
- **Add secret validation**: Registry credentials checked before login (fail-fast)
#### deploy.yaml
- **Skip checkout**: Removed unnecessary git clone
- **Fetch SHA via Gitea API**: Query latest commit directly instead of cloning
- **Reuse existing token**: Use `FORGEJO_REGISTRY_TOKEN` for Gitea API auth (already has privileges)
- **Validate image exists**: Check SHA image exists before tagging as latest (prevents tagging non-existent images)
- **Add secret validation**: Registry credentials checked before login (fail-fast)
#### migrate.yaml
- **Merge schema verification**: Schema inspect result reused in both changed + manual paths
- **Fix manual trigger errors**: Manual mode now fails on first migration error (was silently masking with `|| true`)
- **Track failures**: Explicit FAILED flag tracks migration errors across loop
### Benefits
- **Speed**: Fewer compiles, no unnecessary clones, reuse artifacts
- **Reliability**: Secret validation catches configuration issues early
- **Safety**: Image existence check prevents tagging phantom images
- **Clarity**: Merged steps have descriptive names, explicit error handling
### Testing
- Branch: `ci/optimize-workflows`
- Ready to merge to `main` after review
---------
Co-authored-by: rock <[email protected]>
Reviewed-on: #51
Co-authored-by: poimen <[email protected]>
|
2026-09-13 05:42:01 +00:00 |
|
rock
|
b15072e12d
|
fix: resolve 8 integration test compilation errors (#46)
CI / CI (push) Successful in 11m36s
## Problem
8 integration test files failed to compile due to:
1. Ambiguous float types (Rust 2024+ stricter inference)
2. chrono 0.4 API change (`with_hour` removed)
3. Missing `sqlx` + `base64` in `[dev-dependencies]`
4. `<` parsed as generics instead of comparison
5. Incorrect assertion (3^5=243 > 100)
## Fix
- Added `f32`/`f64` type annotations to vec declarations and bindings
- Replaced `with_hour(0)` with `date_naive().and_hms_opt(0,0,0).unwrap().and_utc()`
- Added `sqlx` + `base64` to `[dev-dependencies]`
- Wrapped comparison in parens
- Fixed assertion: nodes=100 → nodes=1000
## Validation
- `cargo build --release` clean
- `cargo test` — 20 test suites, 0 failures
- 10 files changed, 46 insertions, 42 deletionsReviewed-on: #46
Co-authored-by: rock <[email protected]>
|
2026-09-09 01:22:33 +00:00 |
|
rock
|
d8c3b06cb0
|
fix: resolve 75 mem-cli compilation errors
CI / CI (push) Successful in 15m14s
All errors were API mismatches — handler code calling wrong method
names, wrong argument types, or missing imports/derives. No logic
changes. Build now passes with SQLX_OFFLINE=true.
Key fixes:
- embed_text -> embed_one, Vector -> Vec<f32> conversion
- extract_token: extract auth header from HttpRequest first
- AuthError variants aligned to actual enum definition
- recursive async fns boxed (dfs_paths in inference + path_finder)
- missing derives (Default, Serialize), imports (sqlx::Row, Timelike)
- borrow-after-move: compute .len() before struct field move
- streaming_body -> streaming with Result<Bytes> for SSE
- CI: add SQLX_OFFLINE=true for offline builds without DB
25 files changed, 99 insertions(+), 81 deletions(-)
Co-authored-by: rock <[email protected]>
|
2026-09-08 01:11:14 +00:00 |
|
rock
|
43c8f7ff14
|
ci: fix Dockerfile for Rust + correct Forgejo runner labels
Build & Push Memory Image / build-push (push) Failing after 14s
Build and Push / Test (push) Failing after 5m22s
Build and Push / Build and push image (push) Skipped
Issues fixed:
- Dockerfile was Python/Uvicorn (wrong for Rust project)
- Changed to multi-stage Rust build (rust:1.81 → debian:bookworm-slim)
- Correct binary name: mem (not mem-cli)
- Added proper health check with curl
- CI runner labels were incorrect (rust/golang → docker)
- Changed test job to: runs-on: docker with rust:1.81-bookworm container
- Changed build job to: runs-on: docker
- Docker build config was broken
- Switched to standard actions (setup-buildx, login, build-push)
- Added Cargo caching (registry, git, target)
- Added format + clippy checks
- Simplified login/build/push flow
Ready for CI/CD pipeline restart.
|
2026-09-05 14:07:11 -07:00 |
|
Story Crater Bot
|
46d382e6cc
|
fix(ci): copy templates/ for compile-time include_str
|
2026-08-23 18:08:56 -07:00 |
|
Story Crater Bot
|
9e717c0865
|
fix(ci): add g++ for esaxx-rs/tokenizers native build
|
2026-08-23 18:03:30 -07:00 |
|
Story Crater Bot
|
844989587b
|
fix(ci): use rust:1-slim-bookworm (latest stable, needs 1.88+)
|
2026-08-23 17:58:41 -07:00 |
|
Story Crater Bot
|
2ffd398ea7
|
fix(ci): bump Rust to 1.86 for sha1 0.11 edition 2024 compat
|
2026-08-23 17:52:45 -07:00 |
|
Story Crater Bot
|
edda650238
|
fix(ci): add workspace root src/lib.rs, fix Docker build target
|
2026-08-23 17:47:19 -07:00 |
|
Story Crater Bot
|
eaed7fc42a
|
Add K8s app deployment, Dockerfile, and CI workflow (Option A)
|
2026-08-23 00:01:30 -07:00 |
|