added rust api to control DESI data distribution; updated to utilize bun for renovate
CI / Unit tests (pull_request) Failing after 8m55s
CI / Unit tests (pull_request) Failing after 8m55s
This commit is contained in:
@@ -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).
|
||||
|
||||
Reference in New Issue
Block a user