dragon-code/laravel-actions
dragon-code/laravel-actions is a lightweight Laravel package for encapsulating business logic in reusable action classes. It provides a simple API to define, resolve, and execute actions, helping keep controllers and models thin while making workflows easier to test and maintain.
deploy.sh plus a chain of artisan calls in CI, or adopt a small MIT-licensed package that expresses deploy steps declaratively (config-driven operations run via a single artisan command). The build side is cheap to start and expensive to keep consistent across environments; this package is the "buy" (well, free) option for the boring middle.queue.job). That turns a real product question into a config decision: which deploy steps must block the release (migrations, cache clears) and which can be handed to a worker (search reindex, image regeneration, warmup crawls) without holding the deploy open. The lock duration also bounds duplicate execution when two deploys or a retry overlap.queue.job override means a team can subclass the dispatched job to add retries, timeouts, onQueue, or middleware without forking the package. For an org wary of adopting a low-adoption dependency, that's the escape hatch that makes the risk tolerable — worth citing explicitly in the decision record.laravel-actions) still does not match the repository (laravel-deploy-operations) — confirm which artifact is being evaluated. Separately, 7.3.0's queue features are only useful if you actually run a queue worker in the deploy window; if you don't, they're inert config surface.Adopt when:
--isolated semantics matching Laravel core; 7.3.0 aligns the package's presence handling with the framework, so behavior shouldn't diverge between your own commands and these operations.Look elsewhere when:
queue.job override lets you build retries/timeouts, but that logic becomes your code to own and test; the uniqueness lock is a duplicate-run guard, not a distributed lock manager.composer.json constraints explicitly, and re-check after a 7.3.x bump.For executives (one paragraph): Deployment failures in Laravel apps are disproportionately caused by forgotten post-deploy steps — cached config that no longer matches the environment, migrations that never ran, stale route caches. Today that knowledge lives in someone's head or in a dashboard script nobody reviews. This package moves those steps into the codebase as a plain, versioned list, so deploys are repeatable and auditable and onboarding doesn't depend on tribal knowledge. The latest release extends that to slow steps: expensive work like search reindexing or cache warmup can run as a tracked job instead of stretching the deploy window, with a guard against running twice. It's MIT-licensed, adoptable in an afternoon, and the maintenance signal is fine — recent releases add capability and fix framework-parity issues rather than just bumping versions.
For engineering (one paragraph): dragon-code/laravel-deploy-operations gives you a config-driven operation list executed by a single artisan command with console output, so your cache/migrate/seed/queue-restart sequence is code-reviewed and identical across environments. 7.3.0 adds a configurable uniqueness lock duration for queued operation jobs, a queue.job override so you can supply your own job class (queues, connections, timeout, middleware) without forking, and corrects --isolated presence semantics to match Laravel core. It remains deliberately thin — no process supervision, no rollback, no orchestration — and complements rather than replaces Forge/Envoyer/GitHub Actions; queued operations assume a live worker and don't give you retry/rollback policy for free. Caveats: low adoption, single-maintainer project, and a repo name that doesn't match the ticket. Recommend a timeboxed spike: port one non-critical app's deploy steps, exercise both the synchronous and queued paths in staging for two release cycles, and only then standardize.
How can I help you explore Laravel packages today?