Skip to content

Release 0.14.0: Add canaries module for downstream integration tests

Horizon Bot requested to merge add-flakes-list-to-validators into master

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-input to override dependencies in remote flakes
  • Jobs have allow_failure: true so 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.

🤖 Generated with Claude Code

Merge request reports