Skip to content

Test reorganization with hspec-like naming and consistent job prefixes

Horizon Bot requested to merge bump-0.17.0 into master

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.

Key Changes

Test Suite Reorganization

  • Reorganized tests with hspec-like naming: it-<does-something>
  • Moved from test/{positive,negative}/* to test/modules/{flake,gitlab-ci}/*
  • Structure mirrors module hierarchy (modules.flake.* vs modules.gitlab-ci.*)
  • Added positive tests for all validators (previously only had negative tests)
  • Auto-discovery of child pipelines from test directory

Job Naming Improvements

  • Implemented consistent job naming with prefixes:
    • build:* - Build jobs (e.g., build:omnix)
    • publish:* - Publishing jobs (e.g., publish:cachix)
    • validate:* - Validation jobs (e.g., validate:flake-lock, validate:flake-show, validate:flake-strict-inputs)
    • test:* - Test jobs (test:canary:, test:module:)
    • generate:* - Generation jobs
    • aggregate:* - Aggregation jobs
  • Updated remote/gitlab-ci.yml to 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.findFlakes function for recursive flake discovery

Additional Improvements

  • Added verify stage to stage ordering (between test and publish)
  • Added property test for expect-failure module
  • Added expect-failure module for negative testing
  • Refactored negative tests to use expect-failure module
  • Added flake-lock and flake-show negative tests

See ChangeLog.md for complete details.

🤖 Generated with Claude Code

Edited by Horizon Bot

Merge request reports