sweetchuck/codeception-module-robo-task-runner
codeception/codeception) but does not natively support Robo task execution in test workflows. This package fills a gap for Laravel projects where:
robo deploy).Artisan or Process facade could replace Robo for simple tasks, but Robo’s DSL and task composition may justify this package for complex workflows._bootstrap.php or config/codeception.php). Integration requires:
RoboFile.php (must exist in the project).@runRoboTask annotations or programmatic calls).composer require robo/robo). This adds a new dependency to the Laravel stack, which may introduce:
Artisan commands could lead to duplication (e.g., using Robo for migrate when Laravel’s php artisan migrate exists).| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Deprecated Robo Version | High | Pin to 4.x in composer.json; evaluate migration to Robo 5+ if critical. |
| Test Pollution | Medium | Use --env=testing or Robo’s --no-interaction flag; isolate task outputs. |
| Dependency Bloat | Low | Justify Robo’s inclusion via task complexity. |
| Lack of Maintenance | Medium | Fork or wrap in a Laravel-specific adapter if issues arise. |
| CI/CD Fragility | Medium | Test Robo tasks in CI before integrating with Codeception. |
shell_exec()?@group integration)?RoboFile.php in the root).@runRoboTask(deploy:staging)).Process facade).composer.json:
"require": {
"robo/robo": "^4.0"
}
RoboFile.php in the project root (if missing).composer require sweetchuck/codeception-module-robo-task-runner
codeception.yml or config/codeception.php):
modules:
enabled:
- \Sweetchuck\CodeceptionModuleRoboTaskRunner\RoboTaskRunner
RoboFile.php:
<?php
class RoboFile extends \Robo\Tasks {
public function deploy($env) {
// Task logic here
}
}
/** @runRoboTask(deploy:staging) */
public function testStagingDeployment() { ... }
$this->runRoboTask('deploy:staging');
php vendor/bin/robo deploy:test).composer.json).db:seed for tests).@runRoboTask.php-xml)../vendor/bin/robo task:list) to verify functionality.--verbose flag) for module-specific errors.chmod or sudo (avoid in CI).local may fail in testing.STDOUT may interfere with test output.deploy:production) will block tests.@runRoboTask sparingly or in separate test suites.How can I help you explore Laravel packages today?