DEV Community

Cover image for Generate automatically Workflow files
Roberto B.
Roberto B.

Posted on

Generate automatically Workflow files

Ghygen is an open source application for generating GitHub Actions Workflow files.
It is optimized for generating Workflow for PHP or Laravel applications. It provides two kind of user interface:

  • a Web interface where you have a form to fill with the characteristic of your application;
  • a CLI, a command for your terminal.

My Workflow

The command line tool tries to detect some functionalities of your application like:

  • PHP versions (from composer.json);
  • Dependency stability ( from composer.json);
  • Code sniffer (from require-dev);
  • Static code analysis tool (from require-dev);
  • Static code analysis configuration (for example phpstan.neon)
  • Database requirements;
  • migrations to execute;
  • NodeJS dependencies/version.

Once all of these things are detected the command line, it creates a YAML workflow file - magically πŸ§™β€β™‚οΈ

Image description

Submission Category:

Maintainer Must-Haves

Yaml File or Link to Code

GitHub logo Hi-Folks / gh-actions-yaml-generator

Ghygen is a GitHub Actions configurator for your PHP / Laravel project.

GitHub Workflow Status (branch) GitHub release (latest by date) Website



Ghygen is a GitHub actions Yaml Generator.

Ghygen allows you creating your Yaml file for GitHub Actions, for Laravel/PHP web application, so you can:

  • select triggering events: manually or automatically, when the developer push the code on a specific branch, or a developer create a new Pull Request;
  • select branches;
  • enable caching for all vendors;
  • enable caching PHP packages;
  • select multiple PHP versions (8.0, 7.4, 7.3);
  • select multiple Laravel versions (8, 7, 6), useful if you are developing a Laravel Package and you want to test it with multiple Laravel version;
  • select Node version for NPM (npm run something);
  • caching node packages;
  • setup Mysql Database service;
  • setup PostgreSQL Database service;
  • setup Sqlite in memory database;
  • run migrations;
  • execute tests via phpunit;
  • execute tests via PestPHP;
  • static code analysis with phpstan or psalm;
  • create Sarif report (with Psalm) for GitHub integration with code scanning;
  • code sniffer (via…

Additional Resources / Info

Yaml files probably generated using Ghygen:

Discussion (0)