# Vorlage für .gitea/workflows/tests.yaml in Plugin_SN_Basis, Plugin_SN_Plan41, Plugin_SN_Verfahrensgebiet. # Führt die Mock-Modus-Tests bei Push/PR auf unstable und testing aus. # Voraussetzung: Gitea-Runner mit Label alpine-latest (wie beim Release-Workflow), Projektwissen-Repo öffentlich lesbar. # Der Lauf klont das Projektwissen und die abhängigen Plugin-Repos (unstable) und testet den aktuellen Checkout dieses Repos. name: Tests (Mock-Modus) run-name: "Tests | ${{ github.ref_name }}" on: push: branches: [unstable, testing] pull_request: branches: [unstable, testing] jobs: mock-tests: runs-on: alpine-latest defaults: run: shell: bash steps: - name: Abhängigkeiten installieren shell: sh run: apk add --no-cache bash git python3 py3-openpyxl - name: Workspace und Repos holen env: GITEA: ${{ vars.RELEASE_URL }} # z. B. entwicklung.flurneuordnung-sachsen.de run: | git clone --depth 1 "https://${GITEA}/AG_QGIS/Projektwissen.git" ws cd ws for r in Plugin_SN_Basis Plugin_SN_Plan41 Plugin_SN_Verfahrensgebiet; do git clone --depth 1 --branch unstable "https://${GITEA}/AG_QGIS/$r.git" "$r" done # Dieses Repo im geprüften Stand einsetzen NAME="${GITHUB_REPOSITORY##*/}" rm -rf "$NAME" git clone "https://${GITEA}/${GITHUB_REPOSITORY}.git" "$NAME" cd "$NAME" && git checkout "${GITHUB_SHA}" && cd .. - name: Tests mit Baseline run: | cd ws NAME="${GITHUB_REPOSITORY##*/}" PAKET=$(python3 - "$NAME" <<'PY' import sys, tomllib m = tomllib.load(open("workspace.toml", "rb")) print(next(r["paket"] for r in m["repos"] if r["name"] == sys.argv[1])) PY ) python3 scripts/run_tests.py "$PAKET" --baseline