Skip to content

Commit 411e051

Browse files
PKuhlmayclaude
andauthored
[TASK] Improve GitHub workflows, issue templates and CI config (#845)
* [TASK] Improve GitHub workflows, issue templates and CI config (#607) Harden all workflows with permissions, timeouts, concurrency groups and dependency caching. Migrate issue templates from Markdown to YAML forms with automatic labels. Add issue labeler workflow, dependabot config and expand CONTRIBUTING.md. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * [BUGFIX] Fix publish workflow tag filter and add missing trailing newlines The publish.yml tag filter used regex syntax ([0-9]+) in a glob context where + is literal, preventing semver tags like 13.0.1 from matching. Changed to [0-9]* which correctly matches in fnmatch/glob patterns. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent f1c926e commit 411e051

13 files changed

Lines changed: 367 additions & 92 deletions

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 0 additions & 32 deletions
This file was deleted.
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
name: Bug Report
2+
description: Create a report to help us improve
3+
labels: ["bug"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thank you for reporting a bug! Please fill out the form below.
9+
10+
- type: textarea
11+
id: description
12+
attributes:
13+
label: Describe the bug
14+
description: A clear and concise description of what the bug is.
15+
validations:
16+
required: true
17+
18+
- type: textarea
19+
id: reproduce
20+
attributes:
21+
label: Steps to reproduce
22+
description: Steps to reproduce the behavior.
23+
placeholder: |
24+
1. Go to '...'
25+
2. Click on '...'
26+
3. See error
27+
validations:
28+
required: true
29+
30+
- type: textarea
31+
id: expected
32+
attributes:
33+
label: Expected behavior
34+
description: A clear and concise description of what you expected to happen.
35+
validations:
36+
required: true
37+
38+
- type: textarea
39+
id: screenshots
40+
attributes:
41+
label: Screenshots
42+
description: If applicable, add screenshots to help explain your problem.
43+
44+
- type: dropdown
45+
id: typo3-version
46+
attributes:
47+
label: TYPO3 Version
48+
options:
49+
- "13.4"
50+
- "12.4"
51+
- "other"
52+
validations:
53+
required: true
54+
55+
- type: input
56+
id: extension-version
57+
attributes:
58+
label: Extension Builder Version
59+
description: Git branch, commit hash or TER version
60+
placeholder: "e.g. master, 13.0.1"
61+
validations:
62+
required: true
63+
64+
- type: dropdown
65+
id: php-version
66+
attributes:
67+
label: PHP Version
68+
options:
69+
- "8.4"
70+
- "8.3"
71+
- "8.2"
72+
- "other"
73+
validations:
74+
required: true
75+
76+
- type: input
77+
id: browser
78+
attributes:
79+
label: Browser
80+
description: If this is a UI issue, which browser are you using?
81+
placeholder: "e.g. Chrome 125, Firefox 128"
82+
83+
- type: textarea
84+
id: additional
85+
attributes:
86+
label: Additional context
87+
description: Add any other context about the problem here (logs, error messages, etc.).

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 0 additions & 20 deletions
This file was deleted.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Feature Request
2+
description: Suggest an idea for this project
3+
labels: ["enhancement"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thank you for suggesting a feature! Please fill out the form below.
9+
10+
- type: textarea
11+
id: problem
12+
attributes:
13+
label: Is your feature request related to a problem?
14+
description: A clear and concise description of what the problem is.
15+
placeholder: "I'm always frustrated when [...]"
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: solution
21+
attributes:
22+
label: Describe the solution you'd like
23+
description: A clear and concise description of what you want to happen.
24+
validations:
25+
required: true
26+
27+
- type: textarea
28+
id: alternatives
29+
attributes:
30+
label: Describe alternatives you've considered
31+
description: A clear and concise description of any alternative solutions or features you've considered.
32+
33+
- type: dropdown
34+
id: typo3-version
35+
attributes:
36+
label: Target TYPO3 Version
37+
description: Which TYPO3 version should this feature target?
38+
options:
39+
- "13.x"
40+
- "14.x"
41+
- "any"
42+
43+
- type: textarea
44+
id: additional
45+
attributes:
46+
label: Additional context
47+
description: Add any other context or screenshots about the feature request here.

.github/dependabot.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "composer"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
labels:
8+
- "maintenance"
9+
open-pull-requests-limit: 5
10+
11+
- package-ecosystem: "npm"
12+
directory: "/"
13+
schedule:
14+
interval: "weekly"
15+
labels:
16+
- "maintenance"
17+
open-pull-requests-limit: 5
18+
19+
- package-ecosystem: "github-actions"
20+
directory: "/"
21+
schedule:
22+
interval: "weekly"
23+
labels:
24+
- "maintenance"
25+
open-pull-requests-limit: 5

.github/pr-labeler.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,20 @@ labels:
4242
title: '\[!!!\]\[.+'
4343
commits: '\[!!!\]\[.+'
4444

45+
- label: 'release'
46+
sync: true
47+
matcher:
48+
title: '\[RELEASE\] .+'
49+
commits: '\[RELEASE\] .+'
50+
branch: '^release/.+'
51+
52+
- label: 'devbox'
53+
sync: true
54+
matcher:
55+
title: '\[DEVBOX\] .+'
56+
commits: '\[DEVBOX\] .+'
57+
branch: '^devbox/.+'
58+
4559
checks:
4660
- context: "Semantic Pull Request"
4761
url: "https://docs.typo3.org/m/typo3/guide-contributionworkflow/main/en-us/Appendix/CommitMessage.html"
@@ -55,3 +69,6 @@ checks:
5569
- enhancement
5670
- maintenance
5771
- security
72+
- breaking
73+
- release
74+
- devbox
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Label Issues
2+
3+
on:
4+
issues:
5+
types: [opened, edited]
6+
7+
permissions:
8+
issues: write
9+
10+
jobs:
11+
label:
12+
name: Assign Labels
13+
runs-on: ubuntu-latest
14+
timeout-minutes: 5
15+
steps:
16+
- name: "Label bug reports"
17+
if: contains(github.event.issue.body, 'Describe the bug')
18+
uses: actions/github-script@v7
19+
with:
20+
script: |
21+
await github.rest.issues.addLabels({
22+
owner: context.repo.owner,
23+
repo: context.repo.repo,
24+
issue_number: context.issue.number,
25+
labels: ['bug']
26+
});
27+
28+
- name: "Label feature requests"
29+
if: contains(github.event.issue.body, 'feature request related to a problem')
30+
uses: actions/github-script@v7
31+
with:
32+
script: |
33+
await github.rest.issues.addLabels({
34+
owner: context.repo.owner,
35+
repo: context.repo.repo,
36+
issue_number: context.issue.number,
37+
labels: ['enhancement']
38+
});

0 commit comments

Comments
 (0)