Skip to content

Commit 02ddabe

Browse files
authored
✨ Add issue templates for bug reports, feature requests, and quick issues (#85)
This pull request includes the addition of new issue and pull request templates to improve the process of reporting bugs, requesting features, and creating issues in MoveTopia. The most important changes include the creation of detailed templates for bug reports, feature requests, and quick issues, as well as the addition of a pull request template. New issue templates: * [`.github/ISSUE_TEMPLATE/bug_report.yml`](diffhunk://#diff-637f7b97bba458badb691a1557c3d4648686292e948dbe3e8360564378b653efR1-R103): Added a comprehensive bug report template to capture detailed information about bugs, including steps to reproduce, expected behavior, platform, and version details. * [`.github/ISSUE_TEMPLATE/feature_request.yml`](diffhunk://#diff-c6b098646bf32c644234bec14c2675ea2a3d9c2dc2df450a25aa0e7ff02323cdR1-R59): Added a feature request template to collect detailed descriptions of new ideas, motivations, user experience, and alternatives. * [`.github/ISSUE_TEMPLATE/minimal_issue.yml`](diffhunk://#diff-77fd0e38fe0935bb6aba06aa29c2713df2a53fb6a7f9ecb0ac9ebf670f5dbb76R1-R46): Added a minimal issue template for quick and simple issues, capturing a brief description, context, and priority. Configuration and contact information: * [`.github/ISSUE_TEMPLATE/config.yml`](diffhunk://#diff-1c0d972ee49103af56fd608a77a28e1eb12f6908f263f0f183d46868fdcd8ea2R1-R11): Enabled blank issues and added contact links for the MoveTopia website, support email, and community support. New pull request template: * [`.github/PULL_REQUEST_TEMPLATE/pull_request_template.md`](diffhunk://#diff-45659dae3c8acfb7058b31c52c8600ca9c72a11a482372feea9ab85cb0f270faR1-R17): Added a pull request template to standardize the information provided in pull requests, including brief descriptions, linked issues, screenshots, and GitHub Copilot suggestions.
2 parents ed4ed78 + 28e8a49 commit 02ddabe

7 files changed

Lines changed: 314 additions & 0 deletions

File tree

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
name: 🐞 Bug Report
2+
description: Report a bug in MoveTopia
3+
title: "[BUG] "
4+
labels: [ "bug" ]
5+
assignees: [ ]
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for taking the time to report a bug in MoveTopia!
11+
12+
- type: textarea
13+
id: bug-description
14+
attributes:
15+
label: 🔍 Bug Description
16+
description: Describe the bug clearly and precisely
17+
placeholder: When I try to...
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: steps-to-reproduce
23+
attributes:
24+
label: 🪜 Steps to Reproduce
25+
description: Tell us how to reproduce this issue
26+
placeholder: |
27+
1. Open the app
28+
2. Navigate to...
29+
3. Click on...
30+
4. Observe the error
31+
validations:
32+
required: true
33+
34+
- type: textarea
35+
id: expected-behavior
36+
attributes:
37+
label: 🎬 Expected Behavior
38+
description: What should actually happen?
39+
placeholder: The app should...
40+
validations:
41+
required: true
42+
43+
- type: dropdown
44+
id: platform
45+
attributes:
46+
label: 📱 Platform
47+
description: On which platform does this occur?
48+
multiple: true
49+
options:
50+
- iOS
51+
- Android
52+
- All platforms
53+
validations:
54+
required: true
55+
56+
- type: input
57+
id: app-version
58+
attributes:
59+
label: App Version
60+
description: What version of MoveTopia are you using?
61+
placeholder: e.g. 2025.04.06.0
62+
validations:
63+
required: true
64+
65+
- type: input
66+
id: device
67+
attributes:
68+
label: Device
69+
description: What device are you using?
70+
placeholder: e.g. iPhone 14 Pro, Samsung Galaxy S22
71+
validations:
72+
required: false
73+
74+
- type: input
75+
id: os-version
76+
attributes:
77+
label: Operating System Version
78+
description: What OS version are you using?
79+
placeholder: e.g. iOS 16.5, Android 13
80+
validations:
81+
required: false
82+
83+
- type: textarea
84+
id: screenshots
85+
attributes:
86+
label: 📸 Screenshots
87+
description: If possible, add screenshots to help explain your problem
88+
placeholder: Drag and drop images here
89+
validations:
90+
required: false
91+
92+
- type: textarea
93+
id: additional-info
94+
attributes:
95+
label: 📝 Additional Information
96+
description: Any other helpful information
97+
validations:
98+
required: false
99+
100+
- type: markdown
101+
attributes:
102+
value: |
103+
Thank you for helping to improve MoveTopia!

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: 🌐 MoveTopia Website
4+
url: https://movetopia.de
5+
about: Visit our website for more information about MoveTopia
6+
- name: 📧 Support Email
7+
url: mailto:mail@movetopia.de
8+
about: Contact our support team directly via email
9+
- name: 💬 MoveTopia Community Support
10+
url: https://github.com/ScreepCode/MoveTopia/discussions
11+
about: Discussions and help for the MoveTopia App
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: 💡 Feature Request
2+
description: Suggest a new idea for MoveTopia
3+
title: "[FEATURE] "
4+
labels: ["enhancement"]
5+
assignees: []
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for taking the time to suggest a new feature for MoveTopia!
11+
12+
- type: textarea
13+
id: feature-description
14+
attributes:
15+
label: 🌟 Feature Description
16+
description: Describe your idea clearly and precisely
17+
placeholder: I'd like to see...
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: motivation
23+
attributes:
24+
label: 🎯 Motivation
25+
description: Why should we add this feature? What problem does it solve?
26+
placeholder: This feature would help with...
27+
validations:
28+
required: true
29+
30+
- type: textarea
31+
id: user-experience
32+
attributes:
33+
label: 📱 User Experience
34+
description: How do you envision the interaction with this feature?
35+
placeholder: Users would be able to...
36+
validations:
37+
required: false
38+
39+
- type: textarea
40+
id: alternatives
41+
attributes:
42+
label: 🧩 Alternatives
43+
description: Have you considered any alternatives?
44+
placeholder: Another approach could be...
45+
validations:
46+
required: false
47+
48+
- type: textarea
49+
id: additional-info
50+
attributes:
51+
label: 📝 Additional Information
52+
description: Any other relevant information or context
53+
validations:
54+
required: false
55+
56+
- type: markdown
57+
attributes:
58+
value: |
59+
<!-- Fun fact: MoveTopia gets a little better every day! -->
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: 🔧 Quick Issue
2+
description: Create a simple issue with minimal details
3+
title: ""
4+
labels: []
5+
assignees: []
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Use this form for quick and simple issues.
11+
12+
- type: textarea
13+
id: description
14+
attributes:
15+
label: Description
16+
description: What needs to be done?
17+
placeholder: Briefly describe what needs attention...
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: context
23+
attributes:
24+
label: Context
25+
description: Any additional information needed?
26+
placeholder: Add any relevant context...
27+
validations:
28+
required: false
29+
30+
- type: dropdown
31+
id: priority
32+
attributes:
33+
label: Priority
34+
description: How urgent is this issue?
35+
options:
36+
- Low
37+
- Medium
38+
- High
39+
- Critical
40+
validations:
41+
required: false
42+
43+
- type: markdown
44+
attributes:
45+
value: |
46+
ℹ️ For more detailed templates, see our bug report and feature request options
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# 🚀 Pull Request
2+
3+
## Brief Description
4+
<!-- Briefly describe what these changes accomplish -->
5+
6+
## Linked Issues
7+
<!-- Link related issues with the format: Fixes #123, Resolves #456, Closes #1337 -->
8+
-
9+
10+
## Screenshots
11+
<!-- Add screenshots if UI changes were made. Either new screens only or before/after -->
12+
| Screen 1 | Screen 2 |
13+
|----------|----------|
14+
| | |
15+
16+
## GitHub Copilot Text
17+
<!-- GitHub Copilot can suggest a PR description here -->

.github/workflows/build-android-debug.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,66 @@ on:
66
workflow_dispatch:
77

88
jobs:
9+
check-skip-conditions:
10+
runs-on: ubuntu-latest
11+
outputs:
12+
skip-build: ${{ steps.check-labels.outputs.skip_build }}
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 0
18+
19+
- name: Check PR labels
20+
id: check-labels
21+
uses: actions/github-script@v6
22+
with:
23+
script: |
24+
const { execSync } = require('child_process');
25+
26+
// Get the last commit message
27+
const lastCommitMsg = execSync('git log -1 --pretty=format:%s').toString().trim();
28+
console.log(`Last commit message: ${lastCommitMsg}`);
29+
30+
// Check if this is a PR merge commit
31+
const prMergeRegex = /Merge pull request #(\d+) from/;
32+
const prMatch = lastCommitMsg.match(prMergeRegex);
33+
34+
if (!prMatch) {
35+
console.log('Not a PR merge commit, proceeding with build');
36+
core.setOutput('skip_build', 'false');
37+
return;
38+
}
39+
40+
const prNumber = prMatch[1];
41+
console.log(`PR number: ${prNumber}`);
42+
43+
// Get PR details from GitHub API
44+
try {
45+
const { data: pr } = await github.rest.pulls.get({
46+
owner: context.repo.owner,
47+
repo: context.repo.repo,
48+
pull_number: parseInt(prNumber)
49+
});
50+
51+
const labels = pr.labels || [];
52+
const skipLabels = ['docs-only', 'no-build'];
53+
const shouldSkip = labels.some(label => skipLabels.includes(label.name));
54+
55+
console.log(`Labels: ${labels.map(l => l.name).join(', ')}`);
56+
console.log(`Should skip build: ${shouldSkip}`);
57+
58+
core.setOutput('skip_build', shouldSkip.toString());
59+
} catch (error) {
60+
console.error(`Error fetching PR #${prNumber}: ${error.message}`);
61+
core.setOutput('skip_build', 'false');
62+
}
63+
result-encoding: string
64+
965
build-debug:
1066
name: "Build Debug APK"
67+
needs: check-skip-conditions
68+
if: ${{ needs.check-skip-conditions.outputs.skip-build == 'false' }}
1169
runs-on: ubuntu-latest
1270
steps:
1371
- name: "Checkout repository"

.github/workflows/pr-check.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,28 @@ on:
77
workflow_dispatch:
88

99
jobs:
10+
check-skip-conditions:
11+
runs-on: ubuntu-latest
12+
outputs:
13+
skip-build: ${{ steps.check-labels.outputs.skip_build }}
14+
steps:
15+
- name: Check PR labels
16+
id: check-labels
17+
uses: actions/github-script@v6
18+
with:
19+
script: |
20+
const labels = context.payload.pull_request?.labels || [];
21+
const skipLabels = ['docs-only', 'no-build'];
22+
const shouldSkip = labels.some(label => skipLabels.includes(label.name));
23+
console.log(`Labels: ${labels.map(l => l.name).join(', ')}`);
24+
console.log(`Should skip build: ${shouldSkip}`);
25+
core.setOutput('skip_build', shouldSkip.toString());
26+
result-encoding: string
27+
1028
build-check:
1129
name: "Build Check"
30+
needs: check-skip-conditions
31+
if: ${{ needs.check-skip-conditions.outputs.skip-build == 'false' }}
1232
runs-on: ubuntu-latest
1333
steps:
1434
- name: "Checkout repository"

0 commit comments

Comments
 (0)