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 π§ββοΈ
Submission Category:
Maintainer Must-Haves
Yaml File or Link to Code
Hi-Folks / gh-actions-yaml-generator
Ghygen is a GitHub Actions configurator for your PHP / Laravel project.
Ghygen
Ghygen is a GitHub Actions configurator for your PHP / Laravel project.
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.3, 8.2, 8.1, 8.0, 7.4);
- select multiple Laravel versions (11, 10, 9, 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 (executing scripts via
npm run
); - 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β¦
Additional Resources / Info
Yaml files probably generated using Ghygen: https://github.com/search?l=YAML&q=ghygen&type=Code
Top comments (0)