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
3.2 KiB
Dette er en oversættelse af
Home. Den engelske side er autoritativ, og ændringer her bliver overskrevet, næste gang wikien publiceres.
English | Dansk | Bahasa Melayu
TirSystem GitHub Actions
En samling af genbrugelige Gitea Actions-workflows til DevOps-professionelle og softwareudviklere, der arbejder på TirSystem-projekter.
Oversigt
Dette repository er den centrale samling af genbrugelig automatisering til TirSystems repositories. Det primære repository ligger på git.tirsystem.com (Gitea) og spejles med push til GitHub.
Det indeholder i øjeblikket Gitea-workflowet sync-github-metadata.yml, som kopierer repositoryets beskrivelse og emner (topics) fra Gitea til GitHub-spejlet ved hvert push til main, ved manuel kørsel og dagligt kl. 03:17 UTC.
Krav
- En Gitea-instans med Actions aktiveret og en runner med labelen
ubuntu-latestogpython3 - Et konfigureret GitHub push-spejl på Gitea-repositoryet (højst ét; repositories uden spejl springes over uden fejl)
- Repository-secrets:
TOKEN_FOR_GITEA: Gitea API-token (kun tokenet, ingen JSON)PAT_FOR_GITHUB: et GitHub personal access token, der må redigere spejl-repositoryet (kun tokenet, ingen JSON)TOKEN_FOR_GITEA_WIKI(kun for repositories, der publicerer en wiki, se tilslutningsvejledningen): et Gitea-token, der kan skrive til wikien, gemt som en secret i repositoryets organisation; der er ingen reserve tilTOKEN_FOR_GITEA
Opsætning
Der skal ikke installeres afhængigheder; workflowet bruger kun Pythons standardbibliotek.
- Klon repositoryet:
git clone ssh://git@git.tirsystem.com:10022/TirSystem/github-action.git - Tilføj de secrets, der er nævnt under Krav, til repositoryets indstillinger i Gitea.
- Konfigurer GitHub push-spejlet i repositoryets indstillinger.
Kørsel
Workflows kører automatisk ved push til main og efter den daglige tidsplan. For at køre manuelt skal du starte Sync GitHub mirror metadata via workflow_dispatch fra fanen Actions i Gitea.
Tests
Workflow-filerne og scripts i tools/ valideres af offline-tests, som hverken kræver netværksadgang eller 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
De samme kontroller kører ved hver pull request og hvert push til main gennem validate-workflows.yml. De parser alle workflows som YAML, kontrollerer at ingen indlejrer Python, kompilerer scripts i tools/, kræver eksplicitte jobtilladelser og tester parsing af credentials, parsing af push-spejlets adresse og synkroniserings- og publiceringsforløbene mod et falsk API.
Efter en ændring af synkroniseringsworkflowet skal du også starte Sync GitHub mirror metadata manuelt i Gitea og sammenligne beskrivelsen og emnerne på GitHub-spejlet.