Skip to content

Release 0.17.0: Automatic working directory management and comprehensive testing

Horizon Bot requested to merge bump-0.17.0 into master

This release adds automatic working directory management for child pipelines, comprehensive module test coverage, improved module configurations, and important bug fixes.

Key Features

Automatic Working Directory Management

  • New workingDirectory option for gitlab.ci configuration
  • Automatically set via GITLAB_CI_WORKING_DIR environment variable for child pipelines
  • Adds before_script: cd <workingDirectory> to all jobs in child pipelines
  • Test flakes can now use relative paths (.) instead of full repo paths
  • Eliminates common errors from forgetting to update paths in test configurations

Comprehensive Test Coverage

  • New module tests: canaries, omnix, and cachix
  • Positive validator tests: accepts-valid-inputs, accepts-current-lock, accepts-valid-flake
  • All test configurations simplified using default flake.flakes
  • Tests automatically use workingDirectory feature for path handling

Module Improvements

flake-strict-inputs

  • Add default exceptions for common flake-parts ecosystem dependencies:
    • github:hercules-ci/flake-parts
    • github:vic/import-tree
    • github:numtide/treefmt-nix
  • No longer need manual exceptions in most test flakes

expect-failure

  • Fix job extension to properly merge verify jobs
  • All jobs get allow_failure, after_script, and artifacts
  • Supports composable expect-failure (expect-failure of expect-failure)
  • Remove backticks from job names to fix needs dependencies

remote/gitlab-ci.yml

  • Update to consistent naming convention:
    • generate-flake-cigenerate:flake-ci
    • flake-cibuild:flake-ci

Documentation

  • Comprehensive documentation for all modules
  • New documentation for: systems, expect-failure, child-pipeline
  • Updated stage ordering and job naming conventions
  • Library functions documented: findFlakes, mkValidatorModule

Bug Fixes

  • Fix formatting issues in child-pipeline.nix
  • Fix expect-failure module to properly extend all jobs
  • Fix needs dependencies by removing backticks from job names
  • All formatting checks now pass

See ChangeLog.md for complete details.

Edited by Horizon Bot

Merge request reports