docs(docs): update CHANGELOG, README, ROADMAP, Formula, and INSTALL for v0.4.0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||||
This project uses [Semantic Versioning](https://semver.org).
|
||||
|
||||
## [0.4.0] - 2026-06-26
|
||||
|
||||
### Added
|
||||
|
||||
- **Git branch auto-detection** — `glint check` and `glint graph` now run `git rev-parse --abbrev-ref HEAD` in the pipeline file's directory to determine the current branch when no `--branch`/`--tag`/`--source`/`--var` flags are given. Falls back to `main` when not inside a git repository or in detached-HEAD state (e.g. CI runners).
|
||||
|
||||
- **GitLab predefined variable injection** — two categories of predefined variables are now present in the simulation context automatically:
|
||||
- `CI=true` and `GITLAB_CI=true` are injected for every non-empty context, so expressions like `$CI == "true"` evaluate correctly without `--var`.
|
||||
- MR-specific variables (`CI_MERGE_REQUEST_IID`, `CI_MERGE_REQUEST_SOURCE_BRANCH_NAME`, `CI_MERGE_REQUEST_TARGET_BRANCH_NAME`, and four others) are injected as placeholders when `--source merge_request_event` is given. `CI_MERGE_REQUEST_SOURCE_BRANCH_NAME` is derived from `--branch` when provided. All injected defaults can be overridden with `--var`.
|
||||
|
||||
- **Multi-platform release binaries** — `task build-release` now builds for all five platforms at once: Linux amd64, Linux arm64, macOS Intel, macOS Apple Silicon, Windows x86-64. Individual targets: `task build-linux-amd64`, `task build-linux-arm64`, `task build-darwin-amd64`, `task build-darwin-arm64`, `task build-windows`.
|
||||
|
||||
- **Homebrew formula** — `Formula/glint.rb` is a source-build Homebrew formula. Set up a tap at `k3nny/homebrew-glint` on GitHub, then install with `brew tap k3nny/glint https://github.com/k3nny/homebrew-glint && brew install glint`.
|
||||
|
||||
- **`INSTALL.md`** — installation guide covering pre-built binary download for all platforms, Homebrew tap, `go install`, and build-from-source with `/usr/local/bin` placement.
|
||||
|
||||
## [0.3.1] - 2026-06-26
|
||||
|
||||
### Changed
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
class Glint < Formula
|
||||
desc "Local linter and validator for .gitlab-ci.yml pipelines"
|
||||
homepage "https://git.k3nny.fr/k3nny/glint"
|
||||
url "https://git.k3nny.fr/k3nny/glint/archive/v0.3.1.tar.gz"
|
||||
url "https://git.k3nny.fr/k3nny/glint/archive/v0.4.0.tar.gz"
|
||||
# Update sha256 on each release: sha256sum glint-vX.Y.Z.tar.gz
|
||||
sha256 ""
|
||||
license "Apache-2.0"
|
||||
|
||||
+4
-4
@@ -40,7 +40,7 @@ Pre-built binaries are attached to each [release](https://git.k3nny.fr/k3nny/gli
|
||||
### Linux (amd64)
|
||||
|
||||
```bash
|
||||
VERSION=v0.3.1
|
||||
VERSION=v0.4.0
|
||||
curl -Lo glint https://git.k3nny.fr/k3nny/glint/releases/download/${VERSION}/glint-${VERSION}-linux-amd64
|
||||
chmod +x glint
|
||||
sudo mv glint /usr/local/bin/
|
||||
@@ -49,7 +49,7 @@ sudo mv glint /usr/local/bin/
|
||||
### Linux (ARM64 — Raspberry Pi 4, AWS Graviton, …)
|
||||
|
||||
```bash
|
||||
VERSION=v0.3.1
|
||||
VERSION=v0.4.0
|
||||
curl -Lo glint https://git.k3nny.fr/k3nny/glint/releases/download/${VERSION}/glint-${VERSION}-linux-arm64
|
||||
chmod +x glint
|
||||
sudo mv glint /usr/local/bin/
|
||||
@@ -58,7 +58,7 @@ sudo mv glint /usr/local/bin/
|
||||
### macOS (Apple Silicon — M1/M2/M3)
|
||||
|
||||
```bash
|
||||
VERSION=v0.3.1
|
||||
VERSION=v0.4.0
|
||||
curl -Lo glint https://git.k3nny.fr/k3nny/glint/releases/download/${VERSION}/glint-${VERSION}-darwin-arm64
|
||||
chmod +x glint
|
||||
sudo mv glint /usr/local/bin/
|
||||
@@ -67,7 +67,7 @@ sudo mv glint /usr/local/bin/
|
||||
### macOS (Intel)
|
||||
|
||||
```bash
|
||||
VERSION=v0.3.1
|
||||
VERSION=v0.4.0
|
||||
curl -Lo glint https://git.k3nny.fr/k3nny/glint/releases/download/${VERSION}/glint-${VERSION}-darwin-amd64
|
||||
chmod +x glint
|
||||
sudo mv glint /usr/local/bin/
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
<p align="center">
|
||||
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-blue.svg" alt="License"></a>
|
||||
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/release-v0.3.1-blue.svg" alt="Release"></a>
|
||||
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/release-v0.4.0-blue.svg" alt="Release"></a>
|
||||
</p>
|
||||
|
||||
> **Disclaimer:** This tool was built through iterative AI-assisted development with [Claude](https://claude.ai). It is experimental, incomplete, and not intended for production use. Coverage of GitLab CI keywords is best-effort and may lag behind GitLab's evolving spec. Use it at your own discretion — no correctness guarantees are made. Contributions and bug reports are welcome.
|
||||
|
||||
@@ -135,3 +135,8 @@ The SVG renderer and terminal tree cover the basic layout. These would bring it
|
||||
- [x] **Fuzz testing** — shipped v0.2.27; `FuzzParseBytes` and `FuzzSanitizeYAMLEscapes` in `internal/model/fuzz_test.go`; seeds run as regular tests in CI; `task fuzz` runs them continuously (default 30 s)
|
||||
- [x] **`glint check --no-warn`** — shipped v0.3.0; discards all warning findings before output and exit-code calculation; mixed pipelines (errors + warnings) still exit 2 but only errors are printed; warnings-only pipelines exit 0
|
||||
- [x] **Exit codes 2 / 10** *(breaking)* — shipped v0.3.0; `glint check` exits `2` when errors are present (previously `1`) and `10` when findings contain only warnings; exit `0` for clean
|
||||
- [x] **Git branch auto-detection** — shipped v0.4.0; when no context flags are given, `glint check` and `glint graph` run `git rev-parse --abbrev-ref HEAD` in the pipeline file's directory and use the result as the default branch (falls back to `main`)
|
||||
- [x] **GitLab predefined variable injection** — shipped v0.4.0; `CI=true` and `GITLAB_CI=true` always present in a non-empty context; MR-specific variables injected as placeholders when `--source merge_request_event`; all overridable via `--var`
|
||||
- [x] **Multi-platform release binaries** — shipped v0.4.0; `task build-release` builds Linux amd64/arm64, macOS Intel/Apple Silicon, and Windows amd64 in one shot
|
||||
- [x] **Homebrew formula** — shipped v0.4.0; `Formula/glint.rb` source-build formula; tap at `k3nny/homebrew-glint`
|
||||
- [x] **`INSTALL.md`** — shipped v0.4.0; installation guide for all platforms and methods
|
||||
|
||||
Reference in New Issue
Block a user