Skip to content

[TASK] Shared Reusable Workflows — Maintainer Guide & Checklist #7

Description

@CybotTM

Overview

This issue provides a complete guide through the shared reusable workflows initiative for the TYPO3 Documentation organization. It consolidates all related PRs, issues, decisions, and action items in one place.

Goal: Centralize GitHub Actions workflows in TYPO3-Documentation/.github so that ~29 documentation repositories share a single maintained set of CI/CD workflows instead of each maintaining their own inline copies.

Background: The initiative started with TYPO3-Documentation/TYPO3CMS-Reference-CoreApi#6414 after the broken m-kuhn/backport@30b6e83 action (missing dist/index.js) required individual fixes across repos.
Workflows were initially placed in t3docs-ci-deploy (TYPO3-Documentation/t3docs-ci-deploy#56), then moved to .github per suggestion by @jaapio, implemented by @linawolf.

cc: @linawolf @garvinhicking @jaapio


Status update (2026-07-04)

Merge Checklist

PRs should be reviewed and merged in this order:

Phase 1: Foundation (.github repo)

Phase 2: Consumer repos (after Phase 1)

Phase 3: Strategy & future work

Phase 4: Hardening & freshness (new, June/July 2026)


Available Shared Workflows

All on main:

Workflow Purpose
reusable-backport.yml Automated backporting via labels (production, 9 repos)
reusable-docs-render.yml Python/Composer-based doc rendering
reusable-php-quality.yml PHP CS Fixer + PHPStan
reusable-php-tests.yml PHP unit/integration test matrix
reusable-test-documentation.yml Docker-based doc rendering test
reusable-apply-precommit.yml Scheduled pre-commit whitespace fixes
reusable-php-command.yml Generic PHP + Composer + command
reusable-node-command.yml Generic Node.js + npm command — pending #15

Key Decisions

Decision Rationale Reference
Use .github repo (not t3docs-ci-deploy) Org community health repo — workflows automatically trusted, no allow-list config needed Discussion in #3 (planned ADR-002 not landed)
Centralize workflows Single point of maintenance for action versions, consistent behavior, faster incident response Discussion in #3 (planned ADR-001 not landed)
Reference @main (not @SHA) SHA-pinning shared workflows reintroduces per-repo maintenance — the June SHA-pin drift proves it ADR-003 in #6 (proposed)
Gate main with CI @main consumers need every merge validated: lint, security audit, conformance, freshness #16

Related PRs (not part of this initiative but relevant)


Questions for maintainers

  1. Merge order — Does the proposed Phase 1 → 2 → 3 → 4 order work for you? (Phase 1 is complete.)
  2. Versioning — Please review [TASK] Add ADR-003: Versioning strategy for shared workflow references #6 (ADR-003); the SHA-pin drift makes this decision urgent.
  3. GettingStarted as test ground — Done: [TASK] Migrate workflows to shared reusable workflows from .github TYPO3CMS-Tutorial-GettingStarted#792 merged 2026-03-23 and has been stable since.
  4. Branch protection — Concretely proposed via [FEATURE] Add CI gate for the shared reusable workflows (lint, security, conformance, freshness) #16 (CI gate); remaining admin step: mark the four gate jobs as required status checks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions