Skip to content

WordPress Theme CI

Pipeline de integração contínua reutilizável para temas WordPress. Foca em análise estática e formatação de código PHP — não inclui build de front-end nem testes unitários.

Trigger

yaml
on:
  workflow_call:

Chamado via uses: a partir do workflow de CI do repositório do tema.

Inputs

InputTipoPadrãoDescrição
php-versionsstring'["8.3", "8.4"]'Array JSON com versões do PHP para a matrix
has-phpstanbooleantrueExecuta PHPStan (vendor/bin/phpstan analyse)
has-cs-fixerbooleantrueExecuta PHP CS Fixer (vendor/bin/php-cs-fixer fix --dry-run --diff)
has-rectorbooleanfalseExecuta Rector (vendor/bin/rector process --dry-run)
php-extensionsstring'mbstring, xml'Extensões PHP a instalar

Secrets

Nenhum secret é necessário. O workflow usa apenas o GITHUB_TOKEN padrão.

Job: php — PHP Matrix

Executa em ubuntu-latest para cada versão da matrix PHP:

  1. Checkout do código.
  2. Setup PHP com a versão da matrix e extensões configuradas.
  3. Instala dependências Composer (composer install --no-interaction --prefer-dist).
  4. PHP CS Fixervendor/bin/php-cs-fixer fix --dry-run --diff (se has-cs-fixer).
  5. PHPStanvendor/bin/phpstan analyse (se has-phpstan).
  6. Rectorvendor/bin/rector process --dry-run (se has-rector).

Diferenças em relação ao Plugin CI

AspectoPlugin CITheme CI
Build de UI (TypeScript/Vite)Sim (opcional)Não
Testes unitáriosSim (opcional)Não
Auth GitHub AppSim (opcional)Não
Comandos de lintVia composer check:*Via binários diretos (vendor/bin/*)

Exemplo de uso

yaml
# .github/workflows/ci.yml
name: CI

on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

jobs:
  ci:
    uses: middag-io/.github-private/.github/workflows/wp-theme-ci.yml@workflows-v1
    with:
      has-phpstan: true
      has-cs-fixer: true
    secrets: inherit

Com Rector habilitado

yaml
jobs:
  ci:
    uses: middag-io/.github-private/.github/workflows/wp-theme-ci.yml@workflows-v1
    with:
      has-rector: true
    secrets: inherit

MIDDAG Tecnologia