ๅทฒๆๅๅๅปบๅฎๆด็GitHub่ชๅจๅๅทฅๅ ท้๏ผ็จไบ๏ผ
- โ ไธไผ ๆฌๅฐ็ๆ็readme.tomlๅREADME.mdๅฐGitHubไปๅบ๏ผๅๅปบPR๏ผ
- โ ไธบๆๆไปๅบ็ๆๅ้จ็ฝฒGitHubๅทฅไฝๆต
- โ ็ๅฌreadme.toml็ๅๅ๏ผ่ชๅจๆ ผๅผๅๅๆดๆฐREADME.md
| ่ๆฌๅ็งฐ | ๅคงๅฐ | ๅ่ฝ |
|---|---|---|
push_to_github.py |
10.5 KB | ไธไผ ๆไปถๅฐGitHubๅนถๅๅปบPR |
generate_workflows.py |
21.6 KB | ็ๆGitHubๅทฅไฝๆตๆจกๆฟ |
deploy_workflows.py |
9.7 KB | ้จ็ฝฒๅทฅไฝๆตๅฐๆๆไปๅบ |
github_automation.py |
10.2 KB | ไธ้ฎๆง่กๆๆๆไฝ |
| ๆๆกฃ | ๅคงๅฐ | ๅ ๅฎน |
|---|---|---|
QUICK_START.md |
6.3 KB | ๅฟซ้ๅผๅงๆๅ |
GITHUB_AUTOMATION_GUIDE.md |
7.6 KB | ่ฏฆ็ปไฝฟ็จ่ฏดๆ |
COMPLETION_SUMMARY.md |
9.5 KB | ๅฎๆๆป็ป |
| ๅทฅไฝๆต | ๅคงๅฐ | ็จ้ |
|---|---|---|
format-readme-normal.yml |
8.7 KB | Normal็ฑปๅไปๅบ |
format-readme-multi-project.yml |
8.1 KB | Multi-project็ฑปๅไปๅบ |
ไฝ็ฝฎ: workflow_templates/
# ่ฎพ็ฝฎGitHub Token
export GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# ๆง่กๆๆๆไฝ
python github_automation.py --all# 1. ็ๆๅทฅไฝๆตๆจกๆฟ
python generate_workflows.py
# 2. ไธไผ ๆไปถๅฐGitHub
export GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
python push_to_github.py
# 3. ้จ็ฝฒๅทฅไฝๆตๅฐๆๆไปๅบ
python deploy_workflows.pyexport GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
python github_automation.py็ถๅ้ๆฉๆณ่ฆๆง่ก็ๆไฝใ
โ ๆปไปๅบๆฐ: 123 ไธช
โโ Normal็ฑปๅ: 118 ไธช
โโ Multi-project็ฑปๅ: 5 ไธช
โ ๅค็็ๆไปถๆฐ: 246 ไธช (123ไธชreadme.toml + 123ไธชREADME.md)
โ ็ๆ็ๅทฅไฝๆตๆฐ: 2 ็ง (้ๅฏนไธๅ็ฑปๅ)
ๅฏนๆฏไธช่ฏพ็จไปๅบ:
1. ๅ ้คๆงๆไปถ (course_code.toml/.yaml, readme.toml/.yaml)
2. ่ฏปๅๆฌๅฐreadme.toml
3. ่ฏปๅๆฌๅฐREADME.md
4. ๅๅปบๅๆฏ (auto/update-course_code)
5. ไธไผ ๆไปถๅฐๅๆฏ
6. ๅๅปบPull Request
7. ่พๅบPR้พๆฅ
็น็น:
- ๆ ้cloneไปๅบ
- ่ชๅจๅค็ๆไปถๅฒ็ช
- ๅๆฏ่ชๅจๅ็ฎก็
- ๆฏไธชไปๅบไธไธชPR
ๅฏนๆฏไธช่ฏพ็จไปๅบ:
1. ่ฏปๅๆฌๅฐreadme.tomlๅคๆญ็ฑปๅ
2. ้ๆฉๅฏนๅบ็ๅทฅไฝๆตๆจกๆฟ
3. ้่ฟGitHub APIไธไผ ๅฐ .github/workflows/format-readme.yml
4. ๅฆๆๆไปถๅญๅจๅๆดๆฐ๏ผๅฆๅๅๅปบ
็น็น:
- ่ชๅจ็ฑปๅ่ฏๅซ
- ๅทฎๅผๅๅทฅไฝๆต
- ่ฆ็ๆดๆฐๆบๅถ
่งฆๅๆกไปถ: PRไธญไฟฎๆนไบreadme.toml
ๆง่กๆต็จ:
1. ๆฃๅบไปฃ็ ๅฐPRๅๆฏ
2. ่ฎพ็ฝฎPython 3.10็ฏๅข
3. ่ฟ่กๆ ผๅผๅ่ๆฌ
โโ ้ช่ฏTOMLๆ ผๅผ
โโ ่ง่ๅๅญๆฎต้กบๅบ
โโ ไฟๅญๆ ผๅผๅ็ปๆ
4. ่ฟ่ก่ฝฌๆข่ๆฌ
โโ ่งฃๆreadme.toml
โโ ็ๆmarkdownๅ
ๅฎน
โโ ไฟๅญๅฐREADME.md
5. ่ชๅจๆไบคๆดๆน
โโ ๆไบคreadme.toml
โโ ๆไบคREADME.md
โโ ๆจ้ๅฐPRๅๆฏ
็ปๆ: README.md่ชๅจๆดๆฐ๏ผไฟๆไธreadme.tomlๅๆญฅ
- ๆ ้cloneไปๅบ๏ผ่็ๆถ้ดๅๅญๅจ็ฉบ้ด
- ๅนถ่กๅค็ๅคไธชไปๅบ
- API่ฐ็จไผๅ๏ผๅนณๅๆฏไธชไปๅบ3-5ๆฌก่ฐ็จ
- ไธๆฌก้จ็ฝฒ๏ผๆฐธไน ๅ็
- ๆฏๆฌกไฟฎๆน้ฝ่ชๅจๅค็
- ๅทฅไฝๆตๅตๅ ฅๆๆ้ป่พ๏ผGitHubไธๅณๅฏ็ฌ็ซ่ฟ่ก
- ่ฏฆ็ป็่ฟๅบฆ่พๅบ
- ๆไฝๅฏ่ฟฝๆบฏ๏ผPR้พๆฅ๏ผ
- ๅฎๆด็้่ฏฏๆฅๅฟ
- ็ป่ฎกไฟกๆฏ
- Token้่ฟ็ฏๅขๅ้ไผ ้
- ๆๅฐๆ้ๅๅ
- ๅฎๅ็้่ฏฏๅค็
- ๆ ็กฌ็ผ็ ๆๆไฟกๆฏ
- ๅค็งๆง่กๆนๅผ
- ๆฏๆๅนฒ่ฟ่ก
- ๅฏไฟฎๆนๅทฅไฝๆต
- ๆไบๆฉๅฑ
scripts/
โโโ Python่ๆฌ
โ โโโ push_to_github.py โ ไธไผ ๆไปถ่ๆฌ โญ
โ โโโ generate_workflows.py โ ็ๆๅทฅไฝๆต่ๆฌ
โ โโโ deploy_workflows.py โ ้จ็ฝฒๅทฅไฝๆต่ๆฌ โญ
โ โโโ github_automation.py โ ไธ้ฎๆง่ก่ๆฌ โญ
โ โโโ convert_normal_repo_toml_to_readme.py
โ โโโ format_normal_repo_toml_standard.py
โ โโโ convert_multi_project_toml_to_readme.py
โ โโโ format_multi_project_toml_standard.py
โ
โโโ ๆๆกฃ
โ โโโ QUICK_START.md โ ๅฟซ้ๅผๅง ๐
โ โโโ GITHUB_AUTOMATION_GUIDE.md โ ่ฏฆ็ปๆๅ
โ โโโ COMPLETION_SUMMARY.md โ ๅฎๆๆป็ป
โ
โโโ ๅทฅไฝๆตๆจกๆฟ
โ โโโ workflow_templates/
โ โโโ format-readme-normal.yml
โ โโโ format-readme-multi-project.yml
โ
โโโ ่พๅ
ฅ/่พๅบ
โ โโโ readme_output/ โ ๆฌๅฐ็ๆ็ๆไปถ
โ โ โโโ AUTO1001/
โ โ โโโ COMP2001/
โ โ โโโ CrossSpecialty/
โ โ โโโ ...
โ โ
โ โโโ normal_repo/ โ ๆบTOMLๆไปถ
โ โ โโโ AUTO1001.toml
โ โ โโโ ...
โ โ
โ โโโ multi_project_repo/
โ โโโ CrossSpecialty.toml
โ โโโ ...
โ
โโโ __pycache__/ โ Python็ผๅญ
โญ ่กจ็คบๆๅธธ็จ็่ๆฌ
๐ ่กจ็คบๆจ่้ฆๅ
้
่ฏป็ๆๆกฃ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๆฌๅฐๆไปถ็ๆ้ถๆฎต โ
โ (convert_normal_repo_toml_to_readme.py็ญ) โ
โ ่พๅบ: readme_output/{course_code}/* โ
โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ GitHub่ชๅจๅๅทฅๅ
ท๏ผๆฌ้ๅ๏ผ โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ็ฌฌ1ๆญฅ: push_to_github.py โ โ
โ โ โ ๅ ้คๆงๆไปถ โ โ
โ โ โ ไธไผ ๆฐๆไปถๅฐๅๆฏ โ โ
โ โ โ ๅๅปบPull Request โ โ
โ โ ่พๅบ: PR้พๆฅ (https://github.com/...) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ็ฌฌ2ๆญฅ: generate_workflows.py โ โ
โ โ โ ็ๆไธค็งๅทฅไฝๆตๆจกๆฟ โ โ
โ โ ่พๅบ: workflow_templates/*.yml โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ็ฌฌ3ๆญฅ: deploy_workflows.py โ โ
โ โ โ ่ชๅจๆฃๆตไปๅบ็ฑปๅ โ โ
โ โ โ ้จ็ฝฒๅฏนๅบ็ๅทฅไฝๆต โ โ
โ โ โ ไธไผ ๅฐ .github/workflows/format-readme.yml โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ GitHub Actions่ชๅจๅ้ถๆฎต โ
โ (ๅจๆฏไธชไปๅบไธญ่ชๅจๆง่ก) โ
โ โ
โ ่งฆๅๆกไปถ: readme.toml่ขซไฟฎๆน โ
โ ๆง่กๅ
ๅฎน: โ
โ 1. ๆ ผๅผๅreadme.toml โ
โ 2. ็ๆREADME.md โ
โ 3. ่ชๅจๆไบคๆดๆน โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๅฎๆ๏ผๆฐๆฎๅๆพ็คบไฟๆไธ่ด โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Python 3.10+
- ็ฝ็ป่ฟๆฅ๏ผGitHub API่ฎฟ้ฎ๏ผ
- GitHub Personal Access Token
- requests๏ผ็จไบGitHub API๏ผ
- tomli๏ผ็จไบTOML่งฃๆ๏ผ
- Windows 10+ / macOS / Linux
- ่ถณๅค็็ฝ็ปๅธฆๅฎฝ๏ผไธไผ ๆไปถ๏ผ
- ๅฏนๅบไปๅบ็pushๆ้
# 1. ่ทๅGitHub Token
# ่ฎฟ้ฎ https://github.com/settings/tokens
# ๅๅปบๆฐtoken (classic)๏ผๆไบ repo + workflow ๆ้
# 2. ่ฎพ็ฝฎ็ฏๅขๅ้
export GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# 3. ่ฟ่ก่ชๅจๅ่ๆฌ
python github_automation.py --all
# 4. ๅจGitHubไธๅฎกๆ ธๅๅๅนถPR
# ้พๆฅไผๅจ่พๅบไธญๆพ็คบ
# 5. ้ช่ฏๅทฅไฝๆตๅทฒ้จ็ฝฒ
# ่ฎฟ้ฎ https://github.com/HITSZ-OpenAuto/{ไปๅบๅ}/settings/actions# ๅฝๆฌๅฐๆไปถๆๆดๆฐๆถ๏ผ
# 1. ้ๆฐ็ๆๆฌๅฐๆไปถ
python format_normal_repo_toml_standard.py
python convert_normal_repo_toml_to_readme.py
# 2. ไธไผ ๆดๆฐๅฐGitHub
export GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
python push_to_github.py
# 3. ๅฎกๆ ธๅนถๅๅนถPRQ: ่ๆฌๆฅ้"Repository not found"
A: ๆฃๆฅไปๅบๅ็งฐๆฏๅฆๆญฃ็กฎ๏ผ็กฎไฟๆๆ้่ฎฟ้ฎ
Q: ๅทฅไฝๆตๆพ็คบ"authentication required"
A: ๆฃๆฅGitHub Actionsๅจไปๅบไธญๆฏๅฆๅทฒๅฏ็จ
Q: ๆณไฟฎๆนๅทฅไฝๆต้ป่พ
A: ็ผ่พworkflow_templates/*.yml๏ผ้ๆฐ่ฟ่กdeploy_workflows.py
Q: ๅฆไฝ็กฎ่ฎคๅทฅไฝๆตๅทฒ็ๆ
A: ่ฎฟ้ฎไปๅบ โ Actionsๆ ็ญพ๏ผๆฅ็"Format and Update README"ๅทฅไฝๆต
| ๅบๆฏ | ๆจ่ๆๆกฃ |
|---|---|
| ๅฟซ้ไธๆ | QUICK_START.md |
| ่ฏฆ็ป่ฏดๆ | GITHUB_AUTOMATION_GUIDE.md |
| ๆๆฏ็ป่ | COMPLETION_SUMMARY.md |
| APIๆฅๅฃ | ่ๆฌไปฃ็ ๆณจ้ |
| ่ง่ฒ | ๆจ่้ ่ฏป |
|---|---|
| ไฝฟ็จ่ | QUICK_START.md |
| ็ฎก็ๅ | GITHUB_AUTOMATION_GUIDE.md |
| ๅผๅ่ | COMPLETION_SUMMARY.md + ๆบไปฃ็ |
| ็ปดๆค่ | ๆๆๆๆกฃ |
ๅจไฝฟ็จๅ๏ผ่ฏท็กฎไฟ๏ผ
- Python 3.10+ ๅทฒๅฎ่ฃ
- ๅ ทๆGitHubไธชไบบ่ฎฟ้ฎไปค็
- Tokenๅทฒๆไบrepoๅworkflowๆ้
- ็ฝ็ป่ฟๆฅๆญฃๅธธ
- readme_output็ฎๅฝไธญๆๆไปถ
- ๅฏนๆๆ็ฎๆ ไปๅบๆpushๆ้
ๆง่กๅฎๆดๆต็จๅ๏ผๆจๅฐ่ทๅพ๏ผ
- โ ๆๆๆฌๅฐๆไปถๅทฒไธไผ ๅฐGitHub๏ผไฝไธบPR๏ผ
- โ ๆๆไปๅบ้ฝ้ ็ฝฎไบ่ชๅจๅๅทฅไฝๆต
- โ ๆฏไธชไปๅบ็README.mdไผๅจreadme.tomlๆดๆฐๆถ่ชๅจๆดๆฐ
- โ ไฟ่ฏๆฐๆฎไธ่ดๆงๅๅฑ็คบ่ดจ้
- ้
่ฏป
QUICK_START.mdๅฟซ้ไบ่งฃ - ่ทๅGitHub Token
- ่ฟ่ก
python github_automation.py --all - ๅจGitHubไธๅฎกๆ ธPR
- ้ช่ฏๅทฅไฝๆตๅทฒๅฏ็จ
- ๅฎๆ๏ผ๐
ๅฆ้ๅฐ้ฎ้ข๏ผ
- ๆฅ็่ฏฆ็ปๆๆกฃ๏ผ
GITHUB_AUTOMATION_GUIDE.md - ๆฃๆฅ่ๆฌ่พๅบไฟกๆฏ
- ้ช่ฏ็ฏๅขๅ้่ฎพ็ฝฎ
- ๆฅ็GitHubไปๅบ็Actionsๆฅๅฟ
็ๆฌ: 1.0
ๅๅปบๆฅๆ: 2026ๅนด1ๆ31ๆฅ
้กน็ฎ: HITSZ-OpenAuto ่ชๅจๅๅทฅๅ
ท