Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .github/workflows/reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,7 @@ jobs:
run: |
VERSION="${{ inputs.yamlspec-version }}"
if [ "$VERSION" = "latest" ]; then
DOWNLOAD_URL=$(curl -s https://api.github.com/repos/AxeForging/yamlspec/releases/latest \
| grep "browser_download_url.*linux-amd64.tar.gz" \
| cut -d '"' -f 4)
DOWNLOAD_URL="https://github.com/AxeForging/yamlspec/releases/latest/download/yamlspec-linux-amd64.tar.gz"
else
DOWNLOAD_URL="https://github.com/AxeForging/yamlspec/releases/download/${VERSION}/yamlspec-linux-amd64.tar.gz"
fi
Expand Down
46 changes: 15 additions & 31 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Added
- `docs/index.md` documentation landing page with cross-links between docs.
- `docs/recipes.md` cookbook of common assertion patterns
(multi-environment, security baseline, image pinning, label conventions,
HPA/PDB invariants, NetworkPolicy, etc.).
- `docs/troubleshooting.md` with the common authoring/runtime errors and how
to read them.
- `examples/README.md` describing each worked example and the exact command
to run it.
- `CONTRIBUTING.md` covering dev setup, layer conventions, how to add an
operator/formatter/command, commit conventions, and the release flow.
- README field-path quick reference (dotted, `[index]`, `[*]` wildcard,
bracket notation, leading-dot JQ form) and cross-links to the docs.
- GitHub Actions reusable workflow now writes the EMD output to
`$GITHUB_STEP_SUMMARY` so results show on the workflow run page, not only
as a PR comment.
- `--github-annotations` output mode (auto-enabled when `GITHUB_ACTIONS=true`)
emits `::error file=...,line=...::` lines so failing assertions appear
inline in the GitHub "Files changed" diff view.

### Changed
- README install instructions now reflect that no GitHub release exists yet —
use `go install` from source until v0.1.0 is cut.
## [0.1.0] — 2026-05-06

## [0.1.0] — Initial release

The first usable yamlspec build, including a correctness-hardening pass.
The first usable yamlspec build, including a correctness-hardening pass and
the full documentation set.

### Added
- RSpec-like `describe`/`it`/`should` test syntax in `spec.yaml`.
Expand All @@ -50,6 +27,9 @@ The first usable yamlspec build, including a correctness-hardening pass.
- Six output formats: console (colored RSpec-style tree), JSON, YAML,
Markdown, enriched Markdown (collapsible `<details>` for PR comments),
JUnit XML.
- `--github-annotations` output mode (auto-enabled when `GITHUB_ACTIONS=true`)
emits `::error file=...,line=...::` lines so failing assertions appear
inline in the GitHub "Files changed" diff view.
- Parallel execution via `--workers N`.
- `--fail-fast` for fast feedback on sequential runs.
- Configurable `--pre-run-timeout` (default 60s) for `pre_run` shell
Expand All @@ -63,17 +43,21 @@ The first usable yamlspec build, including a correctness-hardening pass.
`sleep`-style children no longer keep the command alive past its deadline.
- Cross-platform process management (Unix `setpgid` + `kill -PGID`; Windows
fallback).
- Reusable GitHub Actions workflow with one-line opt-in via
`uses: AxeForging/yamlspec/.github/workflows/reusable.yml@main`. Posts
enriched-markdown PR comments and updates them in place on subsequent
pushes.
- Reusable GitHub Actions workflow with one-line opt-in. Posts
enriched-markdown PR comments (updated in place on subsequent pushes) and
writes the same EMD to `$GITHUB_STEP_SUMMARY` so results show on the
workflow run page.
- `init` command to scaffold new specs.
- `list` / `list --tags` for spec/tag discovery (deterministic ordering).
- `ai-help` command emitting a comprehensive reference for AI assistants.
- Built on Go 1.25.8 (covers the recent stdlib CVE).
- Documentation: `docs/index.md`, `docs/spec-format.md`, `docs/recipes.md`,
`docs/troubleshooting.md`, `docs/reusable-workflow.md`,
`examples/README.md`, `CONTRIBUTING.md`, `CHANGELOG.md`.
- README field-path quick reference, badges, sample output, and demo GIF.

### Validation
- 118 tests passing across 6 packages.
- 120 tests passing across 6 packages.
- Examples for plain manifests, Helm charts, Kustomize overlays,
multi-resource specs, and a security baseline.

Expand Down
29 changes: 15 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,28 +23,29 @@ YAML test framework with RSpec-like assertions. Validate any YAML manifests —

## Install

No tagged release yet — install from source:

```bash
# Latest commit on main
go install github.com/AxeForging/yamlspec@main
# Go install (any platform with Go 1.25+)
go install github.com/AxeForging/yamlspec@latest

# Or clone and build
git clone https://github.com/AxeForging/yamlspec.git
cd yamlspec
make install # builds and installs to /usr/local/bin
# Linux (amd64)
curl -sSL https://github.com/AxeForging/yamlspec/releases/latest/download/yamlspec-linux-amd64.tar.gz | tar xz
sudo mv yamlspec /usr/local/bin/

# macOS (Apple Silicon)
curl -sSL https://github.com/AxeForging/yamlspec/releases/latest/download/yamlspec-darwin-arm64.tar.gz | tar xz
sudo mv yamlspec /usr/local/bin/
```

Once v0.1.0 is published you'll also be able to use:
Other platforms (linux/arm64, darwin/amd64, windows/{amd64,arm64}) on the [releases page](https://github.com/AxeForging/yamlspec/releases/latest).

### From source

```bash
# Direct download (post-release)
curl -sSL https://github.com/AxeForging/yamlspec/releases/latest/download/yamlspec-linux-amd64.tar.gz | tar xz
sudo mv yamlspec /usr/local/bin/
git clone https://github.com/AxeForging/yamlspec.git
cd yamlspec
make install # builds and installs to /usr/local/bin
```

See [CHANGELOG.md](CHANGELOG.md) for release status.

## Quick Start

```bash
Expand Down
Loading