Skip to content

Commit 7481e62

Browse files
Update standardize-issue-titles.yml
1 parent fcd4106 commit 7481e62

1 file changed

Lines changed: 54 additions & 54 deletions

File tree

.github/workflows/standardize-issue-titles.yml

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -10,66 +10,66 @@ jobs:
1010
issues: write
1111

1212
steps:
13-
- name: Checkout repository
14-
uses: actions/checkout@v3
15-
16-
- name: Setup Node.js
17-
uses: actions/setup-node@v3
13+
- name: Set up Python
14+
uses: actions/setup-python@v4
1815
with:
19-
node-version: '16'
16+
python-version: '3.10'
17+
18+
- name: Install dependencies
19+
run: pip install PyGithub
2020

21-
- name: Create script file
21+
- name: Create standardization script
2222
run: |
23-
cat > standardize-titles.mjs << 'EOF'
24-
import { Octokit } from '@octokit/rest';
25-
26-
const octokit = new Octokit({
27-
auth: process.env.GITHUB_TOKEN
28-
});
29-
30-
const issueUpdates = [
31-
{ number: 138, title: "Open Source Friday - Nuxt and AI - [05-23-2025]" },
32-
{ number: 137, title: "Open Source Friday - SupermemoryAI - [05-16-2025]" },
33-
{ number: 136, title: "Open Source Friday - Effection - [TBD]" },
34-
{ number: 135, title: "Open Source Friday - Cluecumber - [TBD]" },
35-
{ number: 133, title: "Open Source Friday with OSPO - Td Bank - [04-04-2025]" },
36-
{ number: 129, title: "Open Source Friday - supervision - [03-28-2025]" },
37-
{ number: 127, title: "Open Source Friday - Convex - [05-09-2025]" },
38-
{ number: 125, title: "Open Source Friday - Dagger AI Agents - [TBD]" },
39-
{ number: 117, title: "Open Source Friday - Oqtane - [04-11-2025]" },
40-
{ number: 116, title: "Open Source Friday - Daytona - [04-18-2025]" },
41-
{ number: 115, title: "Open Source Friday - Ushahidi - [TBD]" },
42-
{ number: 111, title: "Open Source Friday - Connecting Workers and Public AI - [TBD]" }
43-
];
44-
45-
async function updateIssues() {
46-
for (const issue of issueUpdates) {
47-
try {
48-
console.log(`Updating issue #${issue.number} with title: ${issue.title}`);
49-
await octokit.issues.update({
50-
owner: process.env.REPO_OWNER,
51-
repo: process.env.REPO_NAME,
52-
issue_number: issue.number,
53-
title: issue.title
54-
});
55-
console.log(`Successfully updated issue #${issue.number}`);
56-
// Add a short delay to avoid rate limiting
57-
await new Promise(resolve => setTimeout(resolve, 1000));
58-
} catch (error) {
59-
console.error(`Error updating issue #${issue.number}:`, error.message);
60-
}
61-
}
62-
}
63-
64-
updateIssues();
65-
EOF
23+
cat > standardize_titles.py << 'EOF'
24+
import os
25+
import time
26+
from github import Github
6627
67-
- name: Install dependencies
68-
run: npm install @octokit/rest
28+
# Authentication
29+
token = os.environ.get("GITHUB_TOKEN")
30+
g = Github(token)
31+
32+
# Repository details
33+
repo_owner = os.environ.get("REPO_OWNER")
34+
repo_name = os.environ.get("REPO_NAME")
35+
repo = g.get_repo(f"{repo_owner}/{repo_name}")
36+
37+
# Issue updates mapping
38+
issue_updates = [
39+
{"number": 138, "title": "Open Source Friday - Nuxt and AI - [05-23-2025]"},
40+
{"number": 137, "title": "Open Source Friday - SupermemoryAI - [05-16-2025]"},
41+
{"number": 136, "title": "Open Source Friday - Effection - [TBD]"},
42+
{"number": 135, "title": "Open Source Friday - Cluecumber - [TBD]"},
43+
{"number": 133, "title": "Open Source Friday with OSPO - Td Bank - [04-04-2025]"},
44+
{"number": 129, "title": "Open Source Friday - supervision - [03-28-2025]"},
45+
{"number": 127, "title": "Open Source Friday - Convex - [05-09-2025]"},
46+
{"number": 125, "title": "Open Source Friday - Dagger AI Agents - [TBD]"},
47+
{"number": 117, "title": "Open Source Friday - Oqtane - [04-11-2025]"},
48+
{"number": 116, "title": "Open Source Friday - Daytona - [04-18-2025]"},
49+
{"number": 115, "title": "Open Source Friday - Ushahidi - [TBD]"},
50+
{"number": 111, "title": "Open Source Friday - Connecting Workers and Public AI - [TBD]"}
51+
]
52+
53+
# Update each issue
54+
for update in issue_updates:
55+
try:
56+
issue_number = update["number"]
57+
new_title = update["title"]
58+
59+
print(f"Updating issue #{issue_number} with title: {new_title}")
60+
issue = repo.get_issue(issue_number)
61+
issue.edit(title=new_title)
62+
print(f"Successfully updated issue #{issue_number}")
63+
64+
# Add a short delay to avoid rate limiting
65+
time.sleep(1)
66+
except Exception as e:
67+
print(f"Error updating issue #{issue_number}: {str(e)}")
68+
EOF
6969
70-
- name: Standardize Issue Titles
70+
- name: Run standardization script
7171
env:
7272
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7373
REPO_OWNER: githubevents
7474
REPO_NAME: open-source-friday
75-
run: node standardize-titles.mjs
75+
run: python standardize_titles.py

0 commit comments

Comments
 (0)