Skip to content

tastyigniter/workflows

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TastyIgniter Reusable Workflows

A collection of reusable GitHub Actions workflows for TastyIgniter projects.

Available Workflows


Auto Merge Release

Automatically merges release PRs matching the pattern Release v4.x.x and creates a GitHub release after all checks pass.

Usage

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 }}

Inputs

Input Description Required Default
release-branch Branch where release PRs should be merged No main

Secrets

Secret Description Required
ACCESS_TOKEN GitHub token with permissions to merge PRs and create releases Yes

Build Assets

Builds frontend assets using Node.js and commits the compiled files.

Usage

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 }}

Inputs

Input Description Required Default
commit-file-pattern File pattern for committing compiled assets No public

Secrets

Secret Description Required
ACCESS_TOKEN GitHub token for committing changes No

PHP Code Check

Runs PHP linting, Rector refactoring checks, and static analysis.

Usage

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 }}

Inputs

Input Description Required Default
php-version PHP version to use Yes -
composer Composer command to run No update --no-interaction --no-progress

Secrets

Secret Description Required
IGNITER_CARTE_KEY Authentication key for TastyIgniter composer repository No

PHP Linting (Pint)

Runs Laravel Pint for PHP code style fixes and commits the changes.

Usage

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 }}

Inputs

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

Secrets

Secret Description Required
IGNITER_CARTE_KEY Authentication key for TastyIgniter composer repository No

PHP Tests

Runs PHP tests with MySQL database support.

Usage

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 }}

Inputs

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 -

Secrets

Secret Description Required
IGNITER_CARTE_KEY Authentication key for TastyIgniter composer repository No

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Home of TastyIgniter Github Action Reusable Workflows

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  

Packages

 
 
 

Contributors