VOOZH about

URL: https://deepwiki.com/invokable/laravel-boost-phpstorm-copilot/6.4-cicd-pipeline

⇱ CI/CD Pipeline | invokable/laravel-boost-phpstorm-copilot | DeepWiki


Loading...
Last indexed: 28 February 2026 (57ef88)
Menu

CI/CD Pipeline

This page describes the two GitHub Actions workflows that run automated checks on this repository: tests.yml and lint.yml. It covers trigger conditions, job matrix configuration, the steps executed, and how each workflow maps to composer.json scripts.

For details on the code style rules enforced by the linter, see Code Style and Quality Standards. For details on the test suite itself, see Testing Framework and Strategy.


Workflows Overview

FileWorkflow nameTriggerPurpose
.github/workflows/tests.yml()testsPush to main, pull requestsRun test suite across PHP versions, collect coverage, run lint check
.github/workflows/lint.yml()linterPush to main onlyApply Pint code style fixes

Both workflows run on ubuntu-latest and use shivammathur/setup-php@v2 to provision PHP.


Workflow: tests

Trigger conditions

.github/workflows/tests.yml3-8

The tests workflow runs on:

  • Every push to the main branch
  • Every pull request of type opened or synchronize

PHP version matrix

.github/workflows/tests.yml16-19

The job runs in parallel across three PHP versions with fail-fast: true, meaning all jobs stop immediately if any single version fails.

Matrix valueEnvironment
8.3Minimum supported version
8.4Current stable
8.5Next / nightly

Permissions

.github/workflows/tests.yml9-11

PermissionValueReason
contentsreadRead the repository
id-tokenwriteRequired for OIDC authentication with the qlty coverage service

Step sequence

Workflow: tests — Step Sequence


Sources: .github/workflows/tests.yml23-47

PHP extensions provisioned

.github/workflows/tests.yml30-32

The shivammathur/setup-php@v2 step installs: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite. The sqlite and pdo_sqlite extensions are required because orchestra/testbench uses an in-memory SQLite database for the test workbench.

Coverage reporting

.github/workflows/tests.yml43-47

composer test:coverage instructs Pest to produce a Clover XML file at build/logs/clover.xml. The qltysh/qlty-action/coverage@v1 action then uploads this file to the qlty code quality service using OIDC token authentication (no static secret needed).


Workflow: linter

Trigger conditions

.github/workflows/lint.yml3-6

The linter workflow runs only on push to the main branch. It does not run on pull requests.

Permissions

.github/workflows/lint.yml8-9

contents: write — this permission exists to support auto-committing Pint fixes if that feature is re-enabled (see the commented-out block at .github/workflows/lint.yml29-36).

Step sequence

Workflow: linter — Step Sequence


Sources: .github/workflows/lint.yml15-27

Note that --no-scripts is passed to composer install in this workflow, which prevents the post-autoload-dump hooks (@clear, @prepare, @build) from running. Those hooks are unnecessary for a lint-only run.

Auto-commit (disabled)

.github/workflows/lint.yml29-36

The workflow contains a commented-out step that would use stefanzweifel/git-auto-commit-action@v5 to automatically push Pint's style fixes back to the branch with the message fix code style. This is currently inactive; the linter only applies fixes locally in the runner without persisting them.


Composer Script Mapping

The workflows invoke composer scripts rather than calling tools directly. The mapping between workflow steps and composer.json script definitions is:

Workflow stepComposer scriptUnderlying command
composer test:coveragetest:coveragepest --coverage --coverage-clover build/logs/clover.xml
composer test:linttest:lintpint --test
composer lintlintpint

Sources: composer.json56-63

Note the distinction between test:lint (used in tests.yml) and lint (used in lint.yml):

  • pint --test — read-only check; exits with a non-zero code if any file would be changed. Used in the test matrix to fail the build on style violations.
  • pint — applies style fixes in place. Used in the linter workflow to fix style.

Complete Pipeline Interaction Diagram

CI/CD: Trigger → Workflow → Composer Script → Tool


Sources: .github/workflows/tests.yml1-48 .github/workflows/lint.yml1-36 composer.json55-63