woohoolabs/releaser
Lightweight CLI release tool for open-source projects. Runs in a Git repository to bump SemVer versions and create signed Git tags (GPG). Install via Composer and execute ./vendor/bin/releaser to publish a new release.
--no-signing option adds flexibility for environments where GPG signing is unnecessary (e.g., internal projects, CI/CD pipelines).--no-signing improves usability but does not address the lack of native CI/CD or changelog automation tools.composer.json modifications remain feasible but may still conflict with tools like spatie/laravel-package-tools.--no-signing option simplifies Git hook integration for teams without GPG setups, reducing setup complexity.laravel-migrations-generator).--no-signing option is helpful but does not mitigate the need for Laravel-specific wrappers or CI/CD orchestration.monorepo-builder, php-semver) remain unresolved.Why Not Modern Alternatives?
--no-signing option is a minor improvement, but does it justify using this package over alternatives like:
spatie/laravel-release (Laravel-native, actively maintained)?php-semver + custom scripts (more flexible, no GPG dependency)?--no-signing sufficient for the team’s needs?Laravel-Specific Needs
spatie/laravel-package-tools) already handling versioning?CI/CD Compatibility
--no-signing impact CI/CD pipelines?
Maintenance Plan
Team Adoption
--no-signing flag (e.g., documenting when to use it)?releaser:bump patch --no-signing)?Security Implications
--no-signing may weaken release integrity. Is this acceptable for the project’s security posture?spatie/laravel-release).Assessment Phase: Updated
--no-signing may suffice.releaser:bump patch --no-signing # Verify tag creation without GPG
Pilot Integration: Updated
--no-signing where applicable:
releaser validate --no-signing # Skip GPG checks in pre-commit
Artisan::call('releaser:bump', [
'version' => 'patch',
'--no-signing' => true,
]);
CI/CD Integration: Updated
--no-signing in pipelines:
- if: github.event_name != 'release'
run: vendor/bin/releaser bump patch --no-signing
Fallback Plan: Updated
spatie/laravel-release (supports GPG via spatie/laravel-git).git tag -s + composer version.| Component | Compatibility Risk | Mitigation |
|---|---|---|
| PHP Version | Increased Risk: No evidence of PHP 8.x/9.x support. | Test in a staging environment; fork and update if critical. |
| GPG Signing | --no-signing may cause failures in pipelines requiring signed tags. |
Use conditionals in CI (e.g., sign only for release events). |
| Composer | Still risks conflicts with modern Composer plugins. | Isolate in dev dependencies; avoid global hooks. |
| Git | Assumes standard Git workflows; no support for atypical setups (e.g., signed commits). | Document custom workflows if needed. |
| CI/CD Tools | No native support for modern CI (e.g., GitHub Actions workflows). | Use generic run commands or create custom templates. |
Phase 1: Validation (1–2 weeks)
--no-signing in a sandbox.Phase 2: Pilot (2–3 weeks)
--no-signing.Phase 3: CI/CD Rollout (1–2 weeks)
- name: Bump Version
run: |
if [ "$IS_PUBLIC_RELEASE" = true ]; then
releaser bump patch
else
releaser bump patch --no-signing
fi
Phase 4: Full Adoption (Ongoing)
--no-signing reduces friction for teams avoiding GPG.--no-signing may be the last feature.How can I help you explore Laravel packages today?