csgt / utils
CSGT Utils
Requires
- php: >=7.2
This package is auto-updated.
Last update: 2026-06-24 18:12:07 UTC
README
This package is used as utilities for the csgt packages.
| Package Version | Laravel UI | Cancerbero | Crud version | Menu Table | AdminLTE | Vue | PHP | Webserver |
|---|---|---|---|---|---|---|---|---|
| 5.0 | no | names | ? | es | ? | 2 | ? | nginx |
| 6.0 | no | names | ? | en | ? | 2 | ? | nginx |
| 5.7 | no | names | ? | en | ? | 2 | ? | nginx |
| 7.0 | yes | names | ? | en | ? | 2 | ? | nginx |
| 8.0 | yes | names | 7 | en | 3.2.0-beta | 2 | ? | nginx |
| 9.0 | yes | names | 8 | en | 4.0.0-alpha | 3 | 8.1 | octane |
| 10.0 | yes | names | 8 | en | 4.0.0-alpha | 3 | 8.2 | octane |
To render the menu, use the following snippet. This will auto-generate the required structure needed for the csgt\menu package.
CI/CD Pipeline
Publish a GitHub Actions workflow that runs CI (code style, tests, frontend build) on every push and pull request, and deploys to production on the main branch only when CI passes.
php artisan make:csgtci
This creates .github/workflows/ci.yml. Everything is auto-detected so the bare command works without flags: the trigger/deploy branch is the repository's default branch (works for both master legacy and main newer projects), the PHP version is read from composer.json (config.platform.php or require.php), and the Node version from .nvmrc or package.json (engines.node). Pass flags only to override the detection:
php artisan make:csgtci --php=8.2 --node=18 --branch=master
| Option | Default | Description |
|---|---|---|
--php |
auto-detected (composer.json) |
PHP version used by the CI job |
--node |
auto-detected (.nvmrc/package.json) |
Node version used by the CI job |
--branch |
auto-detected | Branch that triggers CI and deployment |
--force |
— | Overwrite the workflow if it already exists |
The ci job is universal and rarely needs editing. Projects without tests pass CI harmlessly: the test step skips when no phpunit.xml is present and becomes enforcing once tests exist.
The deploy job is project-specific (host, Docker, Octane, etc.). Configure the repository secrets:
| Secret | Required | Description |
|---|---|---|
PRODUCTION_HOST |
yes | Server hostname or IP |
PRODUCTION_USER |
yes | SSH user |
PRODUCTION_PATH |
yes | Absolute path of the project on the server |
PRODUCTION_SSH_KEY |
yes | Unencrypted private deploy key (no passphrase) |
PRODUCTION_SSH_PORT |
no | SSH port (defaults to 22) |
PRODUCTION_SSH_KNOWN_HOSTS |
no | Pinned host key; prevents MITM (falls back to keyscan) |
PRODUCTION_HEALTHCHECK_URL |
no | URL checked after deploy; deploy fails if not HTTP 200 |
CI runs are cancelled when superseded by a newer commit, but deployments are never cancelled mid-flight (concurrent pushes queue) to avoid leaving the server half-migrated.