Scaffold wubbie pipeline repo + CI (MULTI-1372)#2
Merged
Conversation
Repurpose the Salvo service template into the all-Rust SLM pipeline repo. - Remove the Salvo/SeaORM/Postgres scaffolding (controllers, services, repos, models, views, domain, middleware, migrations, client crate, helm, tern, cucumber specs, OpenAPI build glue, template scripts). - Initialize a Cargo virtual workspace with a single `wubbie` crate (library + `wubbie` CLI) and module layout for model, training, inference, tokenizer, config, backend, and weights. - Pin the pipeline-critical dependencies to exact versions: burn =0.21.0 (CubeCL/CUDA backend behind the `cuda` feature; ndarray CPU backend by default), tokenizers =0.23.1, safetensors =0.8.0. - Add CI (.github/workflows/ci.yml) running fmt + clippy + build + test with --locked on push and pull_request. - Rewrite README, CLAUDE.md, Makefile.toml, and Dockerfile for the new pipeline shape. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DMooDvbW5Gb45wo7wWjN5y
- Rename the workflow to on-push.yml to match the on-<event>.yml house style, triggered on push (excluding trunk and the merge queue refs). - Add a `cuda-build` job that compile-checks the CUDA backend (`cargo build --no-default-features --features cuda`). cudarc uses dynamic loading, so this builds with no GPU/driver/toolkit present and gives compile coverage for the `#[cfg(feature = "cuda")]` code that the default build never touches. - Update README and CLAUDE.md references accordingly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DMooDvbW5Gb45wo7wWjN5y
The original Salvo on-merge.yml was removed during the scaffold (it published Docker/Helm and ran coverage — all out of scope). But on-push.yml still excludes the merge-queue refs, so a merge queue would have had no validation. - Add a lean on-merge.yml triggered on `merge_group` running the same `validate` + `cuda-build` jobs (no cancel-in-progress, so queued runs don't cancel each other). - Add a `pr-ready` gate job named "⚡ PR Ready" to both workflows so a single branch-protection check is satisfied in both the push and merge-queue contexts (the house convention). - Update README and CLAUDE.md to document both workflows. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DMooDvbW5Gb45wo7wWjN5y
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Repurpose the Salvo service template into the all-Rust SLM pipeline repo.
repos, models, views, domain, middleware, migrations, client crate,
helm, tern, cucumber specs, OpenAPI build glue, template scripts).
wubbiecrate(library +
wubbieCLI) and module layout for model, training,inference, tokenizer, config, backend, and weights.
(CubeCL/CUDA backend behind the
cudafeature; ndarray CPU backend bydefault), tokenizers =0.23.1, safetensors =0.8.0.
with --locked on push and pull_request.
pipeline shape.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01DMooDvbW5Gb45wo7wWjN5y