Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .agents/agents/README.md
1 change: 1 addition & 0 deletions .agents/agents/agents-maintainer.md
1 change: 1 addition & 0 deletions .agents/agents/changelog-maintainer.md
1 change: 1 addition & 0 deletions .agents/agents/consumer-sync-auditor.md
1 change: 1 addition & 0 deletions .agents/agents/docs-writer.md
1 change: 1 addition & 0 deletions .agents/agents/issue-editor.md
1 change: 1 addition & 0 deletions .agents/agents/issue-implementer.md
1 change: 1 addition & 0 deletions .agents/agents/php-style-curator.md
1 change: 1 addition & 0 deletions .agents/agents/quality-pipeline-auditor.md
1 change: 1 addition & 0 deletions .agents/agents/readme-maintainer.md
1 change: 1 addition & 0 deletions .agents/agents/review-guardian.md
1 change: 1 addition & 0 deletions .agents/agents/test-guardian.md
1 change: 1 addition & 0 deletions .agents/skills/changelog-generator
1 change: 1 addition & 0 deletions .agents/skills/create-agentsmd
1 change: 1 addition & 0 deletions .agents/skills/github-issues
1 change: 1 addition & 0 deletions .agents/skills/github-pull-request
1 change: 1 addition & 0 deletions .agents/skills/package-readme
1 change: 1 addition & 0 deletions .agents/skills/phpdoc-code-style
1 change: 1 addition & 0 deletions .agents/skills/phpunit-tests
1 change: 1 addition & 0 deletions .agents/skills/pull-request-review
1 change: 1 addition & 0 deletions .agents/skills/sphinx-docs
13 changes: 13 additions & 0 deletions .docheader
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/**
* Ergonomic utilities for PHP enums, including names, values, lookups, and option maps.
*
* This file is part of fast-forward/enum project.
*
* @author Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* @license https://opensource.org/licenses/MIT MIT License
*
* @see https://github.com/php-fast-forward/enum
* @see https://github.com/php-fast-forward/enum/issues
* @see https://php-fast-forward.github.io/enum/
* @see https://datatracker.ietf.org/doc/html/rfc2119
*/
18 changes: 18 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.{yml,yaml,json}]
indent_size = 2

[*.md]
trim_trailing_whitespace = false

[*.rst]
indent_size = 2
14 changes: 14 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
* text=auto
/.agents/ export-ignore
/.dev-tools/ export-ignore
/.github/ export-ignore
/docs/ export-ignore
/tests/ export-ignore
/.editorconfig export-ignore
/.gitattributes export-ignore
/.gitignore export-ignore
/.gitmodules export-ignore
/.phpunit.result.cache export-ignore
/AGENTS.md export-ignore
/phpunit.xml.dist export-ignore
/README.md export-ignore
12 changes: 12 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Generated by fast-forward/dev-tools
#
# Review the generated owners before committing this file.
#
# When no GitHub owners can be inferred automatically, replace the placeholder
# example below with the usernames, teams, or emails that should review
# changes in the consumer repository.
#
# Example:
# * @your-github-user @your-org/platform-team

* @php-fast-forward @coisa
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
github: php-fast-forward
custom:
- 'https://www.paypal.com/donate/?business=JLDAF45XZ8D84'
23 changes: 23 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
version: 2
updates:
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "Composer"
include: "scope"
labels:
- "composer"
- "dependencies"

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: "GitHub Actions"
include: "scope"
labels:
- "github-actions"
- "continuous-integration"
1 change: 1 addition & 0 deletions .github/wiki
Submodule wiki added at 260749
22 changes: 22 additions & 0 deletions .github/workflows/auto-assign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Auto assign

on:
pull_request_target:
types: [opened, reopened, synchronize]
issues:
types: [opened, reopened]

jobs:
auto-assign:
permissions:
issues: write
repository-projects: write
pull-requests: write
uses: php-fast-forward/dev-tools/.github/workflows/auto-assign.yml@main
with:
# project: 1
#
# Consumer repositories SHOULD set this to the target GitHub Project V2
# number. Repositories inside php-fast-forward MAY omit it and let the
# reusable workflow default to the first organization project.
project: ${{ vars.PROJECT || '' }}
36 changes: 36 additions & 0 deletions .github/workflows/auto-resolve-conflicts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: "Fast Forward Predictable Conflict Resolution"

on:
push:
branches: [ "main" ]
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
workflow_dispatch:
inputs:
base-ref:
description: Base branch inspected for open pull requests.
required: false
type: string
default: main
pull-request-number:
description: Optional pull request number to inspect. Leave empty to scan open pull requests targeting the base branch.
required: false
type: string
default: ''

permissions:
actions: write
contents: write
pull-requests: write

jobs:
auto-resolve-conflicts:
uses: php-fast-forward/dev-tools/.github/workflows/auto-resolve-conflicts.yml@main
with:
base-ref: ${{ inputs.base-ref || github.event.pull_request.base.ref || github.event.repository.default_branch || 'main' }}
pull-request-number: ${{ inputs.pull-request-number || github.event.pull_request.number || '' }}
secrets: inherit
47 changes: 47 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: "Fast Forward Changelog"

on:
pull_request:
types: [opened, reopened, synchronize]
pull_request_target:
types: [closed]
workflow_dispatch:
inputs:
changelog-file:
description: Path to the managed changelog file.
required: false
type: string
default: CHANGELOG.md
project:
description: Optional GitHub Project V2 number used for project-board release transitions.
required: false
type: string
default: ''
version:
description: Optional version to promote. Leave empty to infer from Unreleased.
required: false
type: string
default: ''
release-branch-prefix:
description: Prefix used for release-preparation branches.
required: false
type: string
default: release/v

permissions:
contents: write
pull-requests: write

jobs:
changelog:
uses: php-fast-forward/dev-tools/.github/workflows/changelog.yml@main
with:
changelog-file: ${{ inputs.changelog-file || 'CHANGELOG.md' }}
# project: 1
#
# Consumer repositories SHOULD set this when they want changelog-driven
# release transitions to update a specific GitHub Project V2 board.
project: ${{ inputs.project || vars.PROJECT || '' }}
version: ${{ inputs.version || '' }}
release-branch-prefix: ${{ inputs.release-branch-prefix || 'release/v' }}
secrets: inherit
15 changes: 15 additions & 0 deletions .github/workflows/label-sync.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Label sync

on:
pull_request_target:
types: [opened, reopened, synchronize]
issues:
types: [opened, reopened]

jobs:
label-sync:
permissions:
contents: read
issues: read
pull-requests: write
uses: php-fast-forward/dev-tools/.github/workflows/label-sync.yml@main
28 changes: 28 additions & 0 deletions .github/workflows/reports.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: "Fast Forward Reports"

on:
pull_request:
types: [opened, synchronize, reopened, closed]
push:
branches:
- main
schedule:
- cron: '41 3 * * *'
workflow_dispatch:
inputs:
cleanup-previews:
description: Remove stale pull request previews without publishing production reports.
required: false
type: boolean
default: false

permissions:
contents: write
pull-requests: write

jobs:
reports:
uses: php-fast-forward/dev-tools/.github/workflows/reports.yml@main
secrets: inherit
with:
cleanup-previews: ${{ inputs.cleanup-previews || false }}
20 changes: 20 additions & 0 deletions .github/workflows/review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Rigorous Pull Request Review

on:
pull_request_target:
types: [ready_for_review]
workflow_dispatch:
inputs:
pull-request-number:
description: Pull request number to review manually.
required: true
type: string

jobs:
rigorous-review:
permissions:
contents: read
pull-requests: write
uses: php-fast-forward/dev-tools/.github/workflows/review.yml@main
with:
pull-request-number: ${{ github.event.pull_request.number || inputs.pull-request-number || '' }}
21 changes: 21 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: "Fast Forward Test Suite"

on:
push:
workflow_dispatch:
inputs:
max-outdated:
description: Maximum number of outdated packages allowed by the dependencies command.
required: false
type: number
default: -1

permissions:
contents: read

jobs:
tests:
uses: php-fast-forward/dev-tools/.github/workflows/tests.yml@main
with:
max-outdated: ${{ inputs.max-outdated || -1 }}
secrets: inherit
26 changes: 26 additions & 0 deletions .github/workflows/wiki-maintenance.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: "Fast Forward Wiki Maintenance"

on:
pull_request_target:
types: [closed]
schedule:
- cron: '17 3 * * *'
workflow_dispatch:

permissions:
contents: write
pull-requests: read

concurrency:
group: fast-forward-wiki-maintenance-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
maintenance:
permissions:
contents: write
pull-requests: read
# This wrapper handles merged publication to the wiki master branch plus
# preview-branch cleanup. Pull-request preview generation lives in wiki.yml.
uses: php-fast-forward/dev-tools/.github/workflows/wiki-maintenance.yml@main
secrets: inherit
Loading
Loading