WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 1d7e543

Browse files
feat: initial version
1 parent 6f01653 commit 1d7e543

File tree

3 files changed

+177
-0
lines changed

3 files changed

+177
-0
lines changed

.github/ISSUE_TEMPLATE/roadmap.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
name: Roadmap Entry
3+
description: Add a new entry to the roadmap
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: >
8+
**THIS IS NOT THE PLACE TO ASK FOR SUPPORT OR FEATURE REQUESTS!**
9+
Please use our [Support Center](https://app.lizardbyte.dev/support) for support issues.
10+
Entries added by non-members will be ignored.
11+
- type: checkboxes
12+
attributes:
13+
label: Is there an existing issue for this item?
14+
description: Please search to see if an issue already exists.
15+
options:
16+
- label: I have searched the existing issues
17+
required: true
18+
- type: dropdown
19+
id: repositories
20+
attributes:
21+
label: What repo(s) does this item apply to?
22+
description: Select the repo(s) this item applies to. You can select multiple repos.
23+
multiple: true
24+
options:
25+
- Dashboard
26+
- doxyconfig
27+
- Koko
28+
- libdisplaydevice
29+
- Sunshine
30+
- support-bot
31+
- tray
32+
- type: textarea
33+
id: description
34+
attributes:
35+
label: Description
36+
description: Provide details about this roadmap item
37+
placeholder: Describe what needs to be done, why it's important, and any other relevant details
38+
validations:
39+
required: true
40+
- type: dropdown
41+
id: priority
42+
attributes:
43+
label: Priority
44+
description: What priority level should this roadmap item have?
45+
options:
46+
- Critical (P0)
47+
- High (P1)
48+
- Medium (P2)
49+
- Low (P3)
50+
validations:
51+
required: true
52+
- type: dropdown
53+
id: milestone
54+
attributes:
55+
label: Target Milestone
56+
description: When do you expect this item to be completed?
57+
options:
58+
- Short-term (next 1-3 months)
59+
- Medium-term (3-6 months)
60+
- Long-term (6+ months)
61+
validations:
62+
required: true
63+
- type: textarea
64+
id: dependencies
65+
attributes:
66+
label: Dependencies
67+
description: List any dependencies or prerequisites for this roadmap item
68+
placeholder: 'e.g., "Requires completion of #123"'
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
---
2+
name: Update Repositories List in Roadmap
3+
4+
on:
5+
workflow_dispatch:
6+
inputs:
7+
organizations:
8+
description: 'GitHub organizations to fetch repositories from (comma-separated)'
9+
required: true
10+
default: 'LizardByte,LizardByte-infrastructure'
11+
schedule:
12+
- cron: '0 0 * * *'
13+
pull_request:
14+
branches:
15+
- master
16+
types:
17+
- opened
18+
- reopened
19+
- synchronize
20+
paths:
21+
- '.github/ISSUE_TEMPLATE/roadmap.yml'
22+
push:
23+
branches:
24+
- master
25+
paths:
26+
- '.github/workflows/update_issue_templates.yml'
27+
28+
jobs:
29+
update-repositories:
30+
name: Update Repository List
31+
runs-on: ubuntu-latest
32+
steps:
33+
- name: Checkout
34+
uses: actions/checkout@v4
35+
36+
- name: Get organizations
37+
id: get_orgs
38+
run: |
39+
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
40+
ORGS="${{ github.event.inputs.organizations }}"
41+
else
42+
ORGS="LizardByte,LizardByte-infrastructure" # Default organizations
43+
fi
44+
echo "orgs=$ORGS" >> $GITHUB_OUTPUT
45+
echo "Organizations to process: $ORGS"
46+
47+
- name: Fetch repositories
48+
id: fetch_repos
49+
uses: actions/github-script@v7
50+
with:
51+
github-token: ${{ secrets.GITHUB_TOKEN }}
52+
script: |
53+
const orgs = '${{ steps.get_orgs.outputs.orgs }}'.split(',').map(org => org.trim());
54+
let allRepos = [];
55+
56+
for (const org of orgs) {
57+
console.log(`Fetching repositories for organization: ${org}`);
58+
59+
const opts = github.rest.repos.listForOrg.endpoint.merge({
60+
org: org
61+
});
62+
63+
const repos = await github.paginate(opts);
64+
65+
const activeRepos = repos
66+
.filter(repo => !repo.archived && !repo.disabled)
67+
.map(repo => repo.name);
68+
69+
allRepos = [...allRepos, ...activeRepos];
70+
}
71+
72+
// Sort repositories alphabetically
73+
allRepos.sort();
74+
75+
console.log(`Found ${allRepos.length} repositories across ${orgs.length} organization(s)`);
76+
return allRepos;
77+
78+
- name: Update repositories dropdown
79+
id: update_dropdown
80+
uses: ShaMan123/[email protected]
81+
with:
82+
form: .github/ISSUE_TEMPLATE/roadmap.yml
83+
dropdown: repositories
84+
options: ${{ steps.fetch_repos.outputs.result }}
85+
dry_run: no-push
86+
87+
- name: Git Diff
88+
if: github.event_name == 'pull_request'
89+
run: git diff
90+
91+
- name: Create/Update Pull Request
92+
if: github.event_name != 'pull_request'
93+
uses: peter-evans/create-pull-request@v7
94+
with:
95+
add-paths: |
96+
.github/ISSUE_TEMPLATE/*.yml
97+
token: ${{ secrets.GH_BOT_TOKEN }}
98+
commit-message: "chore: Update repositories list in roadmap.yml"
99+
branch: bot/update-repositories-list
100+
delete-branch: true
101+
title: "chore: Update repositories list in roadmap.yml"
102+
body: |
103+
This PR updates the list of repositories in the roadmap issue template.
104+
The list was automatically generated by a GitHub Action.
105+
labels: |
106+
auto-approve
107+
auto-merge

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Ignore JetBrains IDEs
2+
.idea/

0 commit comments

Comments
 (0)