added rust api to control DESI data distribution; updated to utilize bun for renovate
CI / Unit tests (pull_request) Failing after 8m55s

This commit is contained in:
2026-08-31 13:17:05 -06:00
parent 32ab1213fb
commit 5148d7e54f
19 changed files with 978 additions and 16 deletions
+13 -7
View File
@@ -44,21 +44,23 @@ Early scaffolding. The application currently:
```
src/ Odin source — the interactive 3D experience (entrypoint: src/main.odin)
lib/ Third-party Odin dependencies (submodules / vendored libs)
api/ Rust backend API (axum) for serving DESI catalog data
infra/ Go + Pulumi infrastructure-as-code (deploys the experience to k8s)
scripts/ Build helpers (Odin install, WASM build)
.gitea/ Gitea Actions CI/CD workflows
```
The renderer (`src/`) and the infrastructure (`infra/`) are kept in separate
directories so their logic stays cleanly separated; both are orchestrated by the
root `Makefile`.
The renderer (`src/`), the API (`api/`), and the infrastructure (`infra/`) are
kept in separate directories so their logic stays cleanly separated; all are
orchestrated by the root `Makefile`.
## Building & Running
Requires [Odin](https://odin-lang.org/docs/install) with the bundled raylib
vendor bindings. The web build additionally requires [Emscripten](https://emscripten.org)
(`emcc`). The infrastructure requires [Go](https://go.dev) and
[Pulumi](https://www.pulumi.com).
(`emcc`). The API requires [Rust](https://www.rust-lang.org) (stable toolchain,
pinned via `api/rust-toolchain.toml`). The infrastructure requires
[Go](https://go.dev) and [Pulumi](https://www.pulumi.com).
All project commands live in the root `Makefile` (`make help` lists them):
@@ -68,8 +70,11 @@ make run # run the native app
make build # -> bin/desi_explorer
make build-debug # debug native build
make build-web # -> build/web (wasm + html)
make test # odin test + go test
make test # odin test + go test + cargo test
make clean # remove build artifacts
make api-run # run the Rust API server
make api-test # cargo test
make api-check # rustfmt check + clippy
```
## Dependency Updates (Renovate)
@@ -82,8 +87,9 @@ hour (`renovate` workflow in the `homelab` repo) with autodiscovery filtered to
picked up automatically. Config for this repo lives in `renovate.json` and is
validated with `make renovate-validate`.
It manages three categories:
It manages four categories:
- **Infra dependencies** — `infra/go.mod` (`gomod` manager); minor/patch updates grouped into a single PR.
- **API dependencies** — `api/Cargo.toml` (`cargo` manager); minor/patch updates grouped into a single PR.
- **Submodules** — `lib/` submodules via `.gitmodules` (`git-submodules` manager).
- **Workflow actions** — action versions in `.gitea/workflows/*.yml` (`github-actions` manager, which understands Gitea's `.gitea` layout).