Draft ten translations (Home, Onboarding, Credentials, Troubleshooting, Capabilities in da and ms) with the source hash header from ADR-0001, a language switcher on every page and a term list. build_wiki.py --check now reports missing or stale translations, and tests assert that translations follow the structure of the English page. The drafts await review by a native reader (MIL-005 task 5). Task: MIL-005#4
3.0 KiB
This page is generated from
README.md. Changes made here are overwritten the next time the wiki is published.
English | Dansk | Bahasa Melayu
TirSystem GitHub Actions
A collection of reusable Gitea Actions workflows for DevOps professionals and software engineers working on TirSystem projects.
Overview
This repository is the central collection of reusable automation for TirSystem repositories. The primary repository lives at git.tirsystem.com (Gitea) and is push-mirrored to GitHub.
It currently contains the Gitea workflow sync-github-metadata.yml, which copies the repository description and topics from Gitea to the GitHub mirror on every push to main, on manual dispatch, and daily at 03:17 UTC.
Requirements
- A Gitea instance with Actions enabled and a runner providing
ubuntu-latestwithpython3 - A configured GitHub push mirror on the Gitea repository (at most one; repositories without a mirror are skipped successfully)
- Repository secrets:
TOKEN_FOR_GITEA: Gitea API token (plain string, or JSON withGITEA_TOKEN)CREDENTIALS_FOR_GITHUB: JSON object containingGITHUB_PAT, a GitHub personal access token allowed to edit the mirror repositoryTOKEN_FOR_GITEA_WIKI(only in this repository, for the Publish wiki workflow): Gitea token that can write the repository wiki
Setup
No dependencies need to be installed; the workflow uses only the Python standard library.
- Clone the repository:
git clone ssh://git@git.tirsystem.com:10022/TirSystem/github-action.git - Add the secrets listed under Requirements to the repository settings in Gitea.
- Configure the GitHub push mirror in the repository settings.
Run
Workflows run automatically on push to main and on the daily schedule. To run manually, trigger Sync GitHub mirror metadata via workflow_dispatch from the Actions tab in Gitea.
Tests
The workflow files and the Python embedded in them are validated by offline tests that need no network access and no secrets:
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
The same checks run on every pull request and push to main through validate-workflows.yml. They parse every workflow as YAML, compile the embedded Python, require explicit job permissions, and test credential parsing, push mirror address parsing and the sync flow against a fake API.
After a change to the sync workflow, also trigger Sync GitHub mirror metadata manually in Gitea and compare the description and topics on the GitHub mirror.