Ghygen, GitHub Actions configurator for your Laravel / PHP Application

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 database and Code Quality.

Select template:

Official PHP Logo image/svg+xml Official PHP Logo Colin Viebrock Copyright Colin Viebrock 1997 - All rights reserved. 1997

PHP

Setup Workflow for PHP Package.

Select template:

Logomark

Laravel Package

Setup Workflow for Laravel Package.

Select template:

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'.

When is scheduled, in cron format. Daily: '0 0 * * *'

Select Database

Database: *None* if you don't want a database in your workflow. Otherwise select Mysql or Postgresql 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_PASSWORD, 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_PASSWORD, 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. 16.x is the current stable and it is the default value. Select 14.x if you want to use LTS version.

Select the level of the stability for the composer packages dependency

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 Tests via PestPHP

Execute Browser Test via Laravel Dusk

Execute Security Check

Install Code Sniffer phpcs

Select Code Analysis Tool, Larastan for Laravel project, PHPstan for generic PHP projects, or Psalm with Laravel plugin

Install Static Code Analysis Tool (larastan or phpstan or psalm)

Use phpstan.neon file for PHPStan configuration

Create report and publish it on GitHub, Security, Code Scanning Alerts

Deployment (Experimental feature)

Deployment: *None* if you don't want to deploy the code in your workflow. Otherwise select from available options

Ploi Webhook URL: Read from secret or hardcoded

For secret, fill with the name of your parameter for example WEBHOOK_URL, for Hardcoded, fill with your webhook URL

You need to set a GitHub Secret in settings/secrets/actions/new named VAPOR_API_TOKEN. Take a look the documentation about Laravel Vapor, Deploying From CI
Loading Generating Yaml file, waiting please...