You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Created cigen's own CI configuration using cigen itself - demonstrating
the "write once, run anywhere" philosophy.
New files:
- .cigen/config.yml - Main config with source file groups for job skipping
- .cigen/workflows/ci.yml - CI workflow definition with job dependencies
- .cigen/workflows/ci/jobs/clippy.yml .cigen/workflows/ci/jobs/fmt.yml .cigen/workflows/ci/jobs/test.yml - Individual job definitions (fmt, clippy, test)
Job definitions:
- fmt: Cargo format check with @rust source files
- clippy: Linter with @rust source files
- test: Full test suite with @rust, @tests, @examples source files
- test depends on fmt + clippy passing
Features demonstrated:
- Source file groups (@rust, @tests, @examples, @docs)
- Job skipping based on file changes
- Job dependencies (test requires fmt + clippy)
- Automatic cache injection (will use actions/cache@v4)
Also updated:
- Batch renamed cigen.yml → config.yml in docs and notes
- Updated CLAUDE.md, various documentation files
- Updated loader and validator to reflect config.yml convention
Next: Generate GitHub Actions workflow from this config
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CLAUDE.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -257,7 +257,7 @@ You can also reference `/Users/ndbroadbent/code/docspring/lib/tools/generate_cir
257
257
258
258
## Use Our Own Tool
259
259
260
-
The goal is to eventually become 'self-hosting' for our own CI pipeline on GitHub Actions. We must have `nx.json` and `project.json` file in the root of the repository, a `.cigen/` directory, and a `.cigen/cigen.yml` file.
260
+
The goal is to eventually become 'self-hosting' for our own CI pipeline on GitHub Actions. We must have `nx.json` and `project.json` file in the root of the repository, a `.cigen/` directory, and a `.cigen/config.yml` file.
261
261
262
262
We will start by hand-writing our own GitHub Actions workflow files, but eventually migrate to using `cigen` to generate our CI configuration.
263
263
@@ -289,13 +289,13 @@ When working on DocSpring configuration conversion:
289
289
290
290
## Split Configuration
291
291
292
-
**IMPORTANT**: CIGen supports a "split config" style where different top-level keys can be refactored into their own files under `.cigen/config/`, and it all gets merged together. This prevents `.cigen/cigen.yml` from becoming unmaintainable.
292
+
**IMPORTANT**: CIGen supports a "split config" style where different top-level keys can be refactored into their own files under `.cigen/config/`, and it all gets merged together. This prevents `.cigen/config.yml` from becoming unmaintainable.
293
293
294
294
We MUST use split config for large configuration sections:
295
295
296
296
- Source file groups are already split: `docspring/.cigen/config/source_file_groups.yml`
297
297
- Any other config section that grows beyond ~20 lines should be split into its own file
298
-
- Files in `.cigen/config/` are automatically merged with the main `cigen.yml`
298
+
- Files in `.cigen/config/` are automatically merged with the main `config.yml`
299
299
- Use descriptive filenames that match the top-level key (e.g., `cache_definitions.yml` for cache definitions)
0 commit comments