diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..5fe3721 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,40 @@ +name: CI + +on: + pull_request: + push: + branches: [main] + +permissions: + contents: read + +concurrency: + group: ci-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + zig: + name: Zig 0.16 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + + - uses: mlugg/setup-zig@v2 + with: + version: 0.16.0 + + - name: Check formatting + run: zig fmt --check $(git ls-files '*.zig') + + - name: Run tests + # Zig 0.16's x86_64 Linux Debug compiler crashes while compiling the + # CLI test root; ReleaseSafe preserves runtime checks and test coverage. + run: zig build test -Doptimize=ReleaseSafe -j1 --summary all + + - name: Build + run: zig build -Doptimize=ReleaseSafe --summary all + + - name: Smoke test the CLI + run: | + ./zig-out/bin/cell-render --synthetic gradient --width 16 --height 4 --mode density --color none + ./zig-out/bin/cell-render --input testdata/diagonal.ppm --width 1 --height 1 --mode partition --partition quadrant --color none diff --git a/CHANGELOG.md b/CHANGELOG.md index 66648d1..816fc8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +## v0.2.0 - 2026-07-28 + ### Library - Added a **Mermaid `mindmap`** frontend (`src/diagram/mermaid/mindmap.zig`): an diff --git a/VERSION_CHECKLIST.md b/VERSION_CHECKLIST.md index e30a3c8..f96173e 100644 --- a/VERSION_CHECKLIST.md +++ b/VERSION_CHECKLIST.md @@ -1,6 +1,6 @@ -# v0.1.0 Tag Checklist +# v0.2.0 Tag Checklist -Use this before cutting the first public tag. +Use this before cutting the v0.2.0 public tag. ## Required Checks @@ -15,18 +15,18 @@ zig build run -- --input testdata/diagonal.ppm --width 1 --height 1 --mode parti ## Release Notes -- Raw RGBA core API. -- Density, half-block, quadrant, and Braille output. -- Ordered dithering. -- Streaming ANSI writer. -- Synthetic CLI inputs. -- PPM/PAM fixture input outside core. -- Synthetic benchmark command. +- Semantic Mermaid rendering for flowcharts, sequences, state, class, ER, C4, + architecture, card, and mindmap diagrams. +- Shared `CellCanvas` terminal drawing substrate. +- Sextant and octant sub-cell image partitions. +- Floyd-Steinberg dithering and ANSI 16/256-color output. +- Real-font headless visual review with `glyphshot`. +- Automated quality corpus and visual-gallery tooling. ## Pre-Tag Review - Confirm `build.zig.zon` version. -- Confirm `CHANGELOG.md` has the intended v0.1.0 section. +- Confirm `CHANGELOG.md` has the intended v0.2.0 section. - Confirm no decoder is exported from `src/root.zig`. - Confirm benchmark numbers are refreshed or explicitly marked as historical. - Confirm GitHub remote is correct. @@ -34,7 +34,7 @@ zig build run -- --input testdata/diagonal.ppm --width 1 --height 1 --mode parti ## Tag Commands ```sh -git tag -a v0.1.0 -m "v0.1.0" +git tag -a v0.2.0 -m "v0.2.0" git push origin main -git push origin v0.1.0 +git push origin v0.2.0 ``` diff --git a/build.zig.zon b/build.zig.zon index 73153d3..0fbf7cf 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -1,6 +1,6 @@ .{ .name = .image_to_ascii, - .version = "0.1.0", + .version = "0.2.0", .fingerprint = 0x55f66561244cdf41, // Changing this has security and trust implications. .minimum_zig_version = "0.16.0", .dependencies = .{