Ghygen is a GitHub Actions configurator for your Laravel Application.

Setup Database Service, use multiple PHP version, use multiple Laravel versions, build frontend, cache packages, execute Browser, Functional, and Unit tests…

Logomark

Laravel App

Setup Workflow for Laravel, with MySql, PHPstan, Phpcs, PHPunit

PHP

Setup Workflow for PHP Package

Logomark

Laravel Package

Setup Workflow for Laravel Package

The name of your workflow. GitHub displays the names of your workflows on your repository's actions page.

On - GitHub event that triggers the workflow.

Branches for the push, comma separated for example main,develop.

Branches for the PR, comma separated for example main,develop.

Select Database

Database: *None* if you don't want a database in your workflow,o otherwise select Mysql or Sqlite

Define the Mysql Version

Define the Mysql database name

The Port exposed by the container, this is the external port.

Mysql Password: skip, or read from secret or hardcoded

For secret, fill with the name of your parameter for example DB_PASSOWORD, for Hardcoded, fill with your password (valid only for CICD, not production or stage)

Define the Postgresql Version

Define the Postgresql database name

The Port exposed by the container, this is the external port.

Postgresql Password: read from secret or hardcoded

For secret, fill with the name of your parameter for example DB_PASSOWORD, for Hardcoded, fill with your password (valid only for CICD, not production or stage)

Caching

Enable this, to improve speed of installing packages

Enable this, to skip installing packages using previous vendor cache

Enable this, to use cached Npm modules

Environments (PHP / Node)

Select PHP Versions (Multiple)

Define the nodejs Version

Laravel stuff

Select Laravel Versions (Multiple). This is useful if you are building a package and want to test your package with Laravel 8 , 7 and 6

Define env template file to use in actions

Fix storage permission via chmod 777

Execute php artisan migrate

Execute php artisan key:generate

Code Quality

Execute Tests via phpunit

Execute Browser Test via Laravel Dusk

Install Code Sniffer phpcs

Select Code Analysis Tool, Larastan for Laravel project, PHPstan for generic PHP projects

Install Larastan and Phpstan

Loading Generating Yaml file, waiting please...