TastyIgniter Reusable Workflows
A collection of reusable GitHub Actions workflows for TastyIgniter projects.
Automatically merges release PRs matching the pattern Release v4.x.x and creates a GitHub release after all checks pass.
name : Release Workflow
on :
workflow_dispatch :
inputs :
release-branch :
description : ' Target branch for release'
required : false
default : ' main'
type : string
jobs :
release :
uses : tastyigniter/workflows/.github/workflows/auto-merge-release.yml@main
with :
release-branch : ${{ inputs.release-branch || 'main' }}
secrets :
ACCESS_TOKEN : ${{ secrets.ACCESS_TOKEN }}
Input
Description
Required
Default
release-branch
Branch where release PRs should be merged
No
main
Secret
Description
Required
ACCESS_TOKEN
GitHub token with permissions to merge PRs and create releases
Yes
Builds frontend assets using Node.js and commits the compiled files.
name : Build Assets
on :
push :
branches :
- main
jobs :
build :
uses : tastyigniter/workflows/.github/workflows/build-assets.yml@main
with :
commit-file-pattern : ' public'
secrets :
ACCESS_TOKEN : ${{ secrets.ACCESS_TOKEN }}
Input
Description
Required
Default
commit-file-pattern
File pattern for committing compiled assets
No
public
Secret
Description
Required
ACCESS_TOKEN
GitHub token for committing changes
No
Runs PHP linting, Rector refactoring checks, and static analysis.
name : PHP Code Check
on :
push :
branches :
- main
pull_request :
jobs :
code-check :
uses : tastyigniter/workflows/.github/workflows/php-code-check.yml@main
with :
php-version : ' 8.3'
secrets :
IGNITER_CARTE_KEY : ${{ secrets.IGNITER_CARTE_KEY }}
Input
Description
Required
Default
php-version
PHP version to use
Yes
-
composer
Composer command to run
No
update --no-interaction --no-progress
Secret
Description
Required
IGNITER_CARTE_KEY
Authentication key for TastyIgniter composer repository
No
Runs Laravel Pint for PHP code style fixes and commits the changes.
name : PHP Linting
on :
push :
branches :
- main
pull_request :
jobs :
lint :
uses : tastyigniter/workflows/.github/workflows/php-lint.yml@main
with :
php-version : ' 8.3'
secrets :
IGNITER_CARTE_KEY : ${{ secrets.IGNITER_CARTE_KEY }}
Input
Description
Required
Default
php-version
PHP version to use
No
8.3
composer
Composer command to run
No
install --no-interaction --no-progress --no-scripts
commit-file-pattern
File pattern for committing linting fixes
No
./
Secret
Description
Required
IGNITER_CARTE_KEY
Authentication key for TastyIgniter composer repository
No
Runs PHP tests with MySQL database support.
name : PHP Tests
on :
push :
branches :
- main
pull_request :
jobs :
tests :
uses : tastyigniter/workflows/.github/workflows/php-tests.yml@main
with :
php-version : ' 8.3'
secrets :
IGNITER_CARTE_KEY : ${{ secrets.IGNITER_CARTE_KEY }}
Input
Description
Required
Default
php-version
PHP version to use
Yes
-
composer
Composer command to run
No
update --no-interaction --no-progress
command
Test command to run
No
composer test
mysql-image
MySQL Docker image to use
No
mysql:8.0
db-name
Database name
No
testbench
db-prefix
Database table prefix
No
-
Secret
Description
Required
IGNITER_CARTE_KEY
Authentication key for TastyIgniter composer repository
No
This project is licensed under the MIT License - see the LICENSE file for details.