Files
github-action/wiki/Home.ms.md
T
Tirsvad 23abcd9491
Validate workflows / validate (pull_request) Successful in 13s
Move the publish script out of the scoped workflow into a file
tools/publish_wiki.py holds the 296 lines that were embedded in
publish-wiki.yml, unchanged in behaviour and messages. The scoped workflow
now checks out the repository that owns the wiki and TirSystem/github-action
at main, and runs the file (42 lines instead of 313). The tests import the
file, and a new test asserts that no workflow embeds Python. README and the
Home wiki page with its translations no longer mention embedded Python.
Verified live from TirSystem-BashScript/RepoFoundry.

Task: MIL-004#6
2026-10-10 20:42:18 +08:00

3.4 KiB

Ini ialah terjemahan Home. Halaman bahasa Inggeris ialah teks yang sah, dan perubahan di sini akan ditimpa pada penerbitan wiki yang seterusnya.

English | Dansk | Bahasa Melayu

TirSystem GitHub Actions

Koleksi aliran kerja (workflow) Gitea Actions yang boleh digunakan semula untuk profesional DevOps dan jurutera perisian yang mengusahakan projek TirSystem.

Gambaran keseluruhan

Repositori ini ialah koleksi pusat bagi automasi yang boleh digunakan semula untuk repositori TirSystem. Repositori utama berada di git.tirsystem.com (Gitea) dan dicerminkan dengan push ke GitHub.

Buat masa ini ia mengandungi aliran kerja Gitea sync-github-metadata.yml, yang menyalin penerangan dan topik repositori dari Gitea ke cermin GitHub pada setiap push ke main, pada pencetusan manual dan setiap hari pada 03:17 UTC.

Keperluan

  • Satu instans Gitea dengan Actions diaktifkan dan satu runner yang menyediakan ubuntu-latest dengan python3
  • Satu push mirror GitHub yang dikonfigurasi pada repositori Gitea (paling banyak satu; repositori tanpa cermin dilangkau dengan jayanya)
  • Rahsia (secret) repositori:
    • TOKEN_FOR_GITEA: token API Gitea (token sahaja, tanpa JSON)
    • PAT_FOR_GITHUB: personal access token GitHub yang dibenarkan mengubah suai repositori cermin (token sahaja, tanpa JSON)
    • TOKEN_FOR_GITEA_WIKI (hanya untuk repositori yang menerbitkan wiki, lihat panduan menyertakan repositori): token Gitea yang boleh menulis ke wiki, disimpan sebagai secret organisasi repositori; tiada sandaran kepada TOKEN_FOR_GITEA

Persediaan

Tiada kebergantungan perlu dipasang; aliran kerja hanya menggunakan pustaka standard Python.

  1. Klon repositori:
    git clone ssh://git@git.tirsystem.com:10022/TirSystem/github-action.git
    
  2. Tambah rahsia yang disenaraikan di bawah Keperluan ke tetapan repositori dalam Gitea.
  3. Konfigurasikan push mirror GitHub dalam tetapan repositori.

Jalankan

Aliran kerja berjalan secara automatik pada push ke main dan mengikut jadual harian. Untuk menjalankannya secara manual, cetuskan Sync GitHub mirror metadata melalui workflow_dispatch dari tab Actions dalam Gitea.

Ujian

Fail aliran kerja dan skrip dalam tools/ disahkan oleh ujian luar talian yang tidak memerlukan akses rangkaian dan tidak memerlukan rahsia:

python3 -m venv .venv
source .venv/bin/activate        # Windows PowerShell: .venv\Scripts\Activate.ps1
python -m pip install -r tests/requirements.txt
python -m pytest -q tests

Semakan yang sama dijalankan pada setiap pull request dan setiap push ke main melalui validate-workflows.yml. Semakan itu menghurai setiap aliran kerja sebagai YAML, memastikan tiada yang menanam Python, mengkompil skrip dalam tools/, memerlukan kebenaran kerja yang jelas, dan menguji penghuraian kelayakan (credentials), penghuraian alamat push mirror serta aliran penyegerakan dan penerbitan terhadap API palsu.

Selepas perubahan pada aliran kerja penyegerakan, cetuskan juga Sync GitHub mirror metadata secara manual dalam Gitea dan bandingkan penerangan dan topik pada cermin GitHub.