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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions