Release 0.18.0: Test reorganization and job naming improvements
Summary
This release reorganizes the test suite to use hspec-like naming conventions and implements consistent job naming with prefixes across all GitLab CI jobs.
Test Suite Reorganization
- Reorganized tests with hspec-like naming:
it-<does-something> - Added positive tests for all validators (previously only had negative tests)
- Implemented expect-failure meta-test infrastructure for negative tests
- Auto-discovery of child pipelines from test directory
- Cleaned up test directory structure
Job Naming Improvements
- Implemented consistent job naming with prefixes:
-
build:for build jobs -
publish:for publish jobs (cachix) -
validate:for validation jobs (flake-lock, flake-show, flake-strict-inputs) -
test:for test jobs (canaries, child pipelines) -
generate:for generation jobs -
aggregate:for aggregation jobs
-
- Updated
remote/gitlab-ci.ymlto use colon-based naming convention
Module Improvements
- Made child-pipeline module path-agnostic (no hardcoded "test" assumptions)
- Updated module test to use canaries instead of cachix for better coverage
- Added
lib.findFlakesfunction for recursive flake discovery