php-tenant/.github/package-workflows
2026-01-26 21:03:15 +00:00
..
ci.yml Initial commit 2026-01-26 21:03:15 +00:00
README.md Initial commit 2026-01-26 21:03:15 +00:00
release.yml Initial commit 2026-01-26 21:03:15 +00:00

Package Workflows

These workflow templates are for library packages (host-uk/core, host-uk/core-api, etc.), not application projects.

README Badges

Add these badges to your package README (replace {package} with your package name):

[![CI](https://github.com/host-uk/{package}/actions/workflows/ci.yml/badge.svg)](https://github.com/host-uk/{package}/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/host-uk/{package}/graph/badge.svg)](https://codecov.io/gh/host-uk/{package})
[![Latest Version](https://img.shields.io/packagist/v/host-uk/{package})](https://packagist.org/packages/host-uk/{package})
[![PHP Version](https://img.shields.io/packagist/php-v/host-uk/{package})](https://packagist.org/packages/host-uk/{package})
[![License](https://img.shields.io/badge/License-EUPL--1.2-blue.svg)](LICENSE)

Usage

Copy the relevant workflows to your library's .github/workflows/ directory:

# In your library repo
mkdir -p .github/workflows
cp path/to/core-template/.github/package-workflows/ci.yml .github/workflows/
cp path/to/core-template/.github/package-workflows/release.yml .github/workflows/

Workflows

ci.yml

  • Runs on push/PR to main
  • Tests against PHP 8.2, 8.3, 8.4
  • Tests against Laravel 11 and 12
  • Runs Pint linting
  • Runs Pest tests

release.yml

  • Triggers on version tags (v*)
  • Generates changelog using git-cliff
  • Creates GitHub release

Requirements

For these workflows to work, your package needs:

  1. cliff.toml - Copy from core-template root
  2. Pest configured - composer require pestphp/pest --dev
  3. Pint configured - composer require laravel/pint --dev
  4. CODECOV_TOKEN - Add to repo secrets for coverage uploads
  5. FUNDING.yml - Copy .github/FUNDING.yml for sponsor button
{
  "scripts": {
    "lint": "pint",
    "test": "pest",
    "test:coverage": "pest --coverage"
  }
}