Release 0.14.0: Add canaries module for downstream integration tests
Summary
Adds a reusable canaries module for testing against downstream consumers.
New Features
Canaries module for downstream integration tests:
- Test that downstream projects still work with your changes
- Uses
nix build --override-inputto override dependencies in remote flakes - Jobs have
allow_failure: trueso failures warn (⚠ ️) but don't block CI - Configurable list of canary flakes to test against
Example Configuration
imports = [
inputs.gitlab-ci.modules.gitlab-ci.canaries
];
canaries.enable = true;
canaries.canaries = [
{
flake = "github:hercules-ci/flake.parts-website";
input = "gitlab-ci";
name = "flake-parts-website-docs";
}
];
Generated Job
flake-parts-website-docs:
allow_failure: true
script:
- nix build github:hercules-ci/flake.parts-website --override-input gitlab-ci . --no-link
stage: test
Migration
Migrates existing flake.parts-website manual job to use the canaries module, demonstrating the pattern.