From 7fcbe9b7f5f8f8eb477173e93af5db003457b2fb Mon Sep 17 00:00:00 2001 From: k3nny Date: Tue, 11 Aug 2026 20:17:59 +0200 Subject: [PATCH] docs: add comparison with glci --- README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/README.md b/README.md index 50e99b8..3802f7a 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,35 @@ A local tool to validate and lint `.gitlab-ci.yml` pipelines without needing a G See [FEATURES.md](FEATURES.md) for the complete feature reference and lint rules table, and [ROADMAP.md](ROADMAP.md) for planned improvements. +## glint vs glci + +[glci](https://gitlab.com/gitlab-org/ci-cd/runner-tools/glci) is the official GitLab tool for running pipelines locally via Docker/Podman. **glint** takes a different approach: it is a pure static analyser — no container engine, no job execution, no side effects. The two tools are complementary. + +| Feature | glint | glci | +|---|:---:|:---:| +| **Runs jobs in Docker/Podman** | — | ✓ | +| **Container engine required** | — | ✓ | +| **Pipeline linting (structured rules)** | ✓ 49 rules | basic | +| **`rules:if:` / `workflow:` evaluation** | ✓ static | ✓ dynamic | +| **`extends:` resolution** | ✓ | ✓ | +| **`include:` resolution** (local, HTTPS, project, component) | ✓ | ✓ | +| **Render merged YAML** (`glint render`) | ✓ | — | +| **Context simulation** (`--branch`, `--tag`, `--source`, `--var`) | ✓ static | ✓ dynamic | +| **Multi-context comparison table** | ✓ | — | +| **Graph visualization** (terminal tree, Mermaid, SVG/PNG) | ✓ | — | +| **LSP server / IDE diagnostics** | ✓ | — | +| **Output formats** (SARIF, JUnit, GitHub annotations) | ✓ | — | +| **Artifact management** (real artifacts from execution) | — | ✓ | +| **Job log streaming** | — | ✓ | +| **Docker-in-Docker / buildx** | — | ✓ | +| **Embedded OCI registry** | — | ✓ | +| **GitLab Pages preview** | — | ✓ | +| **Interactive TUI** | — | ✓ | +| **Watch mode** (auto-rerun on file change) | — | ✓ | +| **Pre-built binary, zero runtime deps** | ✓ | — | + +Use **glint** when you want fast, offline, dependency-free pipeline validation — in pre-commit hooks, CI itself, or your editor. Use **glci** when you need to actually execute jobs and verify their output locally. + ## Installation See [INSTALL.md](INSTALL.md) for all options: pre-built binaries (Linux amd64/arm64, macOS Intel/Apple Silicon, Windows), Homebrew tap, and building from source.