Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 0 additions & 117 deletions .woodpecker.yml

This file was deleted.

24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -236,17 +236,17 @@ skipping the coverage CI claims to provide.

## CI

`.woodpecker.yml` checks workspace/feature matrices, Clippy, formatting,
`cargo-audit`, Leptos production builds, the explicit Stylance bundle, Docker
images, and browser E2E. The E2E job installs Chromium and Docker-backed jobs are
wired to Docker-in-Docker.

The pipeline also checks the `live-search` `otel` feature. Keep CI feature
coverage in sync whenever optional features are added or removed.

One reproducibility caveat: `cargo install --locked` locks dependencies of the
tool version selected at install time; it does not itself pin that top-level tool
version. Pin CI tool versions if long-term reproducibility is important.
`.github/workflows/ci.yml` is the executable CI reference. It runs on pull
requests and pushes to `main` and covers lockfile consistency, Rust and Leptos
formatting, native Clippy feature combinations, WASM hydration checks, workspace
library tests, `cargo audit`, production Leptos builds, all three Docker images,
and real Chromium-backed E2E tests.

The workflow pins Rust 1.94 and the helper tool versions it installs. Expensive
Rust jobs reuse compiler state through `actions/cache`, while Docker builds use
per-image BuildKit GitHub Actions layer caches. Keep CI feature coverage and cache
keys in sync whenever supported features, the Rust toolchain, or build tooling
change.

## Canonical development notes

Expand All @@ -261,6 +261,6 @@ important code entry points are:
- `gateway/src/settings.rs`
- `e2e-tests/src/common/live_search_env.rs`
- `e2e-tests/tests/live_search_test.rs`
- `.woodpecker.yml`
- `.github/workflows/ci.yml`

If documentation and implementation diverge, fix both in the same change.
16 changes: 8 additions & 8 deletions SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ fix this document in the same change.
| `crates/domain/` | framework-free domain types and invariants |
| `e2e-tests/` | testcontainers HTTP integration and chromiumoxide browser E2E |
| `migrations/` | the single SQLx migration history for the shared database |
| `.woodpecker.yml` | format/check/clippy/build/Docker/browser CI |
| `.github/workflows/ci.yml` | format/check/clippy/build/Docker/browser CI |

The workspace pins Rust 1.94 as its supported toolchain/MSRV. Newer stable Rust
versions do not by themselves justify raising that floor.
Expand All @@ -46,7 +46,7 @@ cargo test --release --locked -p e2e-tests --tests \
--features browser-tests -- --test-threads=1 --nocapture
```

The Woodpecker pipeline is the executable reference for CI prerequisites.
The GitHub Actions workflow is the executable reference for CI prerequisites.

## Critical rules

Expand Down Expand Up @@ -373,9 +373,9 @@ docker compose --profile dev up --build \

## CI expectations

The pipeline should cover:
The maintained GitHub Actions workflow should cover:

- workspace check and clippy,
- native workspace/all-target Clippy plus supported native feature combinations,
- SSR and hydration feature matrices,
- the `otel` feature compilation,
- Rust formatting and Leptos view formatting,
Expand All @@ -384,9 +384,9 @@ The pipeline should cover:
- all Dockerfile builds using a Docker daemon,
- browser E2E with an installed Chromium binary.

`--locked` protects the committed dependency graph; `cargo install --locked`
alone does **not** pin the top-level tool version selected from crates.io. Pin
CI tool versions when reproducibility across time matters.
`--locked` protects the committed dependency graph. CI-installed helper tools
must also pin their top-level versions so a crates.io release cannot silently
change the workflow's toolchain or MSRV requirements.

## References

Expand All @@ -402,4 +402,4 @@ Particularly useful entry points:
- `gateway/src/settings.rs`
- `e2e-tests/src/common/live_search_env.rs`
- `e2e-tests/tests/live_search_test.rs`
- `.woodpecker.yml`
- `.github/workflows/ci.yml`
Loading