Add dry_run_mode input to control when dry-run builds execute
Summary
This MR adds a new dry_run_mode input parameter that allows users to configure when gem building jobs should run in dry-run mode.
Changes
-
New input:
dry_run_modewith options:-
manual(default): Only on MRs with "RELEASE" in the title (existing behavior) -
always: On all merge requests
-
-
New rule set:
.dry-run-mode-always-rulesto enable builds on all MRs -
Updated jobs: Modified
.prepare-release-baseandbuild-native-gemsto include the new rules - Documentation: Updated README with the new input and usage example
Behavior
When dry_run_mode: "always" is set:
-
✅ Build jobs (build-gem-env,build-regular-gem,build-native-gems,gem-smoke-test) run on all MRs -
✅ Release jobs (release-creation,gem-publication) remain restricted to default branch pushes and RELEASE MRs -
✅ Backward compatible - existing behavior unchanged when not specified
Usage Example
include:
- component: gitlab.com/gitlab-org/components/gem-release/gem-release@main
inputs:
dry_run: "true"
dry_run_mode: "always"
This addresses the use case where projects want to validate gem builds in CI on every MR without triggering releases.
Related
Closes #