Files
github-action/wiki/Capabilities.ms.md
T
Tirsvad 27abd226c4
TirSystem/github-action: Publish wiki / publish-wiki (push) Skipped
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Skipped
Validate workflows / validate (pull_request) Successful in 15s
Add the release workflow and its script
Task: MIL-004#5
2026-10-10 23:01:30 +08:00

3.8 KiB

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

English | Dansk | Bahasa Melayu

Keupayaan

Baris yang menyatakan Dilaksanakan atau Panduan telah ditulis wujud hari ini. Selebihnya dirancang dan dijejaki dalam Pelan Projek, yang juga menerangkan setiap kes guna (use case).

Keupayaan Status
Menyegerakkan metadata repositori (Gitea ke cermin GitHub) Dilaksanakan dalam .gitea/scoped_workflows/, dengan ujian luar talian dan aliran kerja pengesahan
Mengkonfigur dan mengesahkan kelayakan (credentials) aliran kerja Dilaksanakan untuk aliran kerja penyegerakan: semakan awal (preflight) memeriksa kedua-dua token sebelum sebarang perubahan (panduan)
Menyertakan repositori, mengurus runner, mendiagnosis kegagalan Panduan telah ditulis (menyertakan repositori, diagnosis); penghantaran scoped ke repositori lain belum disahkan; use case ringkas masih terbuka (MIL-002)
Menerbitkan wiki repositori daripada wiki/ (pilih menyertai, dihantar ke setiap organisasi) Dilaksanakan dalam .gitea/scoped_workflows/publish-wiki.yml, dengan ujian luar talian; juruterbang dalam repositori kedua belum dibuat (MIL-006)
Semakan kualiti bersama (Python dan shell) Dilaksanakan sebagai aliran kerja boleh guna semula .gitea/workflows/quality-checks.yml, dengan ujian luar talian dan percubaan dalam organisasi kedua; penerimaan dalam RepoFoundry sedang disemak (panduan)
Keluaran berversi dan penerbitan Proses keluaran, changelog dan panduan naik taraf telah ditakrifkan; aliran kerja keluaran sudah ada; keluaran pertama v1.0.0 belum ada (MIL-004) (panduan)

Menyegerakkan metadata GitHub

Menyegerakkan penerangan dan topik repositori Gitea ke push mirror GitHub.

Jadual (cron)

Setiap hari pada 03:17 UTC (17 3 * * *), serta pada setiap push ke main dan workflow_dispatch manual.

Aliran kerja

@startuml
title Sync Gitea repository description and topics to GitHub

autonumber

actor "Push to main,\nmanual trigger, or schedule" as Trigger
participant "Gitea Actions\nsync-github-metadata" as Workflow
participant "Gitea REST API" as Gitea
participant "GitHub REST API" as GitHub

Trigger -> Workflow: Start workflow
activate Workflow

Workflow -> Workflow: Read and validate secrets
note right
TOKEN_FOR_GITEA
PAT_FOR_GITHUB
end note

alt secret validation failed
  Workflow --> Trigger: workflow failed
end


Workflow -> Gitea: GET /repos/{owner}/{repo}
Gitea --> Workflow: Description and topics

Workflow -> Gitea: GET /repos/{owner}/{repo}/push_mirrors
Gitea --> Workflow: Push mirror response

alt mirrors is not a list
    Workflow --> Trigger: Log a warning and succeed\n(GitHub metadata not synced)
else mirrors is a list with no GitHub mirror
    Workflow --> Trigger: Log that there is nothing to sync and succeed
else mirrors is a list
    Workflow -> Workflow: Find GitHub owner and repo from remote_address

    Workflow -> GitHub: PATCH /repos/{owner}/{repo}\n{description}
    GitHub --> Workflow: Repository updated

    Workflow -> GitHub: PUT /repos/{owner}/{repo}/topics\n{names}
    GitHub --> Workflow: Topics updated

    Workflow --> Trigger: Sync completed
else Gitea API denies access
    Gitea --> Workflow: HTTP 403 Forbidden
    Workflow --> Trigger: Workflow fails
else GitHub API denies access
    GitHub --> Workflow: HTTP error
    Workflow --> Trigger: Workflow fails
end
deactivate Workflow
@enduml