ci: build Tailwind CSS in Check workflow so asset! resolves (VAPP-1) #1

Merged
David merged 1 commit from fix/ci-tailwind-build into main 2026-05-20 22:22:03 +02:00
Owner

Summary

src/main.rs:43 invokes asset!("/assets/tailwind-built.css"). The Dioxus 0.7.9 asset! macro validates file existence at compile time. assets/tailwind-built.css is git-ignored and generated by bun run tailwindcss, so a fresh CI checkout has nothing on disk and cargo test --features server --bin vervain-app fails compile: error: Asset at /assets/tailwind-built.css doesn't exist. Local just check only passed because a stale build from dx serve lived in the working tree (and check had no cargo test step). Same defect lives in a8n-tools/yotun; fixed there in a parallel PR (EC-2).

Changes:

  • .forgejo/workflows/check.yml: add a Build Tailwind CSS step (bun install --frozen-lockfile && bun run tailwindcss ...) before the cargo steps. Pass --features server to clippy and the server-side cargo check, matching how yotun PR #68 fixed its dead-code wall.
  • justfile: build-css now runs bun install --frozen-lockfile so a fresh clone generates the CSS in one step. check depends on build-css and runs a new check-test recipe so the local pipeline matches CI step-for-step. check-clippy and check-server switch to --features server.

Closes VAPP-1.

Test plan

  • rm assets/tailwind-built.css && just check from a clean state - passes locally (cargo test reports 0 passed; 0 failed, binary has no tests yet but the asset macro now resolves).
  • Forgejo Check workflow goes green on this PR (first successful run for this workflow in the repo).
## Summary `src/main.rs:43` invokes `asset!("/assets/tailwind-built.css")`. The Dioxus 0.7.9 `asset!` macro validates file existence at compile time. `assets/tailwind-built.css` is git-ignored and generated by `bun run tailwindcss`, so a fresh CI checkout has nothing on disk and `cargo test --features server --bin vervain-app` fails compile: `error: Asset at /assets/tailwind-built.css doesn't exist`. Local `just check` only passed because a stale build from `dx serve` lived in the working tree (and `check` had no `cargo test` step). Same defect lives in `a8n-tools/yotun`; fixed there in a parallel PR (EC-2). Changes: - `.forgejo/workflows/check.yml`: add a `Build Tailwind CSS` step (`bun install --frozen-lockfile && bun run tailwindcss ...`) before the cargo steps. Pass `--features server` to clippy and the server-side `cargo check`, matching how yotun PR #68 fixed its dead-code wall. - `justfile`: `build-css` now runs `bun install --frozen-lockfile` so a fresh clone generates the CSS in one step. `check` depends on `build-css` and runs a new `check-test` recipe so the local pipeline matches CI step-for-step. `check-clippy` and `check-server` switch to `--features server`. Closes VAPP-1. ## Test plan - [x] `rm assets/tailwind-built.css && just check` from a clean state - passes locally (cargo test reports `0 passed; 0 failed`, binary has no tests yet but the asset macro now resolves). - [ ] Forgejo `Check` workflow goes green on this PR (first successful run for this workflow in the repo).
ci: build Tailwind CSS in Check workflow so asset! resolves
All checks were successful
Check / fmt + clippy + build + tests (pull_request) Successful in 1m6s
96c4d74138
`src/main.rs:43` invokes `asset!("/assets/tailwind-built.css")`. The Dioxus 0.7.9 `asset!` macro validates file existence at compile time; `assets/tailwind-built.css` is git-ignored and generated by `bun run tailwindcss`. CI clones fresh and never builds CSS, so `cargo test --features server --bin vervain-app` fails compile: `error: Asset at /assets/tailwind-built.css doesn't exist`. Local `just check` passes only because a stale build sits in the working tree (and `check` had no `cargo test` step).

`.forgejo/workflows/check.yml`: add a `Build Tailwind CSS` step (`bun install --frozen-lockfile && bun run tailwindcss ...`) before the cargo steps. Pass `--features server` to clippy and the server-side `cargo check` so server-gated code is exercised; matches yotun PR #68 (a8n-tools/yotun).

`justfile`: `build-css` now runs `bun install --frozen-lockfile` so a fresh clone generates `tailwind-built.css` without the separate `install` step. `check` depends on `build-css` and gains `check-test` (`cargo test --features server --bin vervain-app`), so the recipe matches CI step-for-step. `check-clippy` and `check-server` switch to `--features server`.

Same defect lives in `a8n-tools/yotun`; fixed in a separate PR there.

#VAPP-1 State Done
David merged commit a5d7693598 into main 2026-05-20 22:22:03 +02:00
David deleted branch fix/ci-tailwind-build 2026-05-20 22:22:03 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/vervain-apps!1
No description provided.