Public Access
Page:
DRY-RUN-PATTERN
Clone
1
DRY-RUN-PATTERN
Jonathan Miller edited this page 2026-06-09 16:55:04 +00:00
Table of Contents
Dry Run Pattern
The --dry-run flag pattern used across all CLI tools.
Usage
php bin/moko bulk:push-workflow --workflow ci-joomla.yml --dry-run
When --dry-run is set, the tool reports what it would do without making changes.
Implementation
In CliBase
abstract class CliBase
{
protected bool $dryRun = false;
protected function parseArgs(): void
{
$this->dryRun = in_array('--dry-run', $this->args);
}
}
In Tools
protected function run(): int
{
foreach ($repos as $repo) {
if ($this->dryRun) {
$this->info("[DRY RUN] Would push workflow to {$repo}");
continue;
}
$this->pushWorkflow($repo);
}
return 0;
}
Rules
- All destructive operations MUST check
$this->dryRun - Dry run output prefixed with
[DRY RUN] - Dry run must exercise the same code paths (validation, file reading) without writes
- Bulk operations default to dry-run when
--forceis not set
Pages
- ARCHITECTURE
- BULK-OPERATIONS
- CLI-AUTOMATION
- DEPLOY-SCRIPTS
- DRY-RUN-PATTERN
- Documentation-Standards
- File-Header-Standards
- Home
- JOOMLA-SYNC
- MINIFICATION
- MONITORING-SCRIPTS
- NEW-SCRIPTS
- QUICKSTART-ORG-PROJECTS
- RELEASE-MANAGEMENT
- RUNNERS
- VALIDATION
- Version-Standard
- WORKFLOW-STANDARDS
-
api
- api-automation-index
- api-definitions-default-index
- api-definitions-sync-index
- api-deploy-index
- api-fix-index
- api-index
- api-maintenance-index.-
- api-maintenance-index
- api-plugin-index.-
- api-plugin-index
- api-tests-index.-
- api-tests-sample-index.-
- api-tests-sample-index
- api-validate-index.-
- maintenance-index
- automation
- features
- guides
- operations
- reference
- standards
- templates
-
workflows
- workflows-README.-
- workflows-README
- workflows-auto-release.-
- workflows-auto-release
- workflows-branch-protection.-
- workflows-branch-protection
- workflows-build-release.-
- workflows-build-release
- workflows-cascade-dev.-
- workflows-cascade-dev
- workflows-changelog-management.-
- workflows-changelog-management
- workflows-demo-deployment.-
- workflows-demo-deployment
- workflows-dev-branch-tracking.-
- workflows-dev-branch-tracking
- workflows-dev-deployment.-
- workflows-dev-deployment
- workflows-index.-
- workflows-index
- workflows-release-system.-
- workflows-release-system
- workflows-renovate.-
- workflows-renovate
- workflows-reusable-workflows.-
- workflows-reusable-workflows
- workflows-rs-deployment.-
- workflows-rs-deployment
- workflows-secret-scanning.-
- workflows-secret-scanning
- workflows-shared-workflows.-
- workflows-shared-workflows
- workflows-standards-compliance.-
- workflows-standards-compliance
- workflows-static-analysis.-
- workflows-static-analysis
- workflows-sub-issue-management.-
- workflows-sub-issue-management
- workflows-update-server.-
- workflows-update-server
- workflows-workflow-architecture.-
- workflows-workflow-architecture