Workflows¶
Wiederverwendbare GitHub-Actions-Workflows liegen unter .github/workflows/reusable-*.y{a}ml. Konsumenten referenzieren sie über:
<tag> durch einen Release-Tag ersetzen, niemals @develop
<tag> ist bewusst ein Platzhalter. Wähle eine Version auf der
Releases-Seite, zum
Beispiel @v1.1.26, und lass Renovate die Bumps vorschlagen.
Diese Seiten zeigten früher @develop. Konsumenten, die der Dokumentation
folgten, waren also deshalb ungepinnt. Eine Branch-Referenz löst auf das
auf, worauf der Branch zur Laufzeit zeigt — eine Änderung hier erreicht
deine CI sofort und ungeprüft.
Die Wrapper-Workflows dieses Repositories nutzen eine lokale Pfadangabe,
etwa uses: ./.github/workflows/reusable-trivy.yaml. Diese Form löst gegen
den aktuellen Commit auf, ein Pull Request hier testet also die Workflows,
die er ändert. Für Consumer ist sie nicht nutzbar, weil die Datei in einem
anderen Repository liegt.
Katalog¶
| Workflow | description |
|---|---|
reusable-ansible-galaxy-push.yaml |
Publish an Ansible role to Ansible Galaxy via robertdebock/galaxy-action. |
reusable-ansible-molecule.yaml |
Run a Molecule test scenario via gofrolist/molecule-action. |
reusable-automerge.yaml |
Auto-merge pull requests via pascalgn/automerge-action. |
reusable-chain-bench.yaml |
Run the supply-chain CIS (Center for Internet Security) benchmark via aquasecurity/chain-bench-action. |
reusable-dependency-review.yaml |
Gate pull requests against vulnerable or licence-incompatible dependency changes via actions/dependency-review-action. |
reusable-docker-lint-build.yaml |
Run hadolint on a Dockerfile and a buildx dry-build (no push) for fast PR feedback. |
reusable-docker-publish.yaml |
Build a multi-arch container image with docker/build-push-action and push it to a configurable OCI registry. |
reusable-hacs-validate.yaml |
Validate a HACS-distributed Home Assistant custom integration with hacs/action and hassfest on push and pull request. |
reusable-mkdocs-build.yaml |
Build an mkdocs site with --strict (no deploy) so broken links, missing nav entries, and render errors fail the pull request. |
reusable-mkdocs.yaml |
Build and publish an mkdocs site to GitHub Pages. |
reusable-nodejs-coverage.yaml |
Run Node.js tests (Vitest or Jest) and render the Istanbul json-summary coverage report into the GitHub Actions job summary, with an optional fail-under gate. |
reusable-pre-commit.yaml |
Run pre-commit for a minimal static-test bundle (linters, formatters, EditorConfig). |
reusable-python-coverage.yaml |
Run pytest with pytest-cov and render the coverage report into the GitHub Actions job summary, with an optional fail-under gate. |
reusable-release-cd-refresh-master.yml |
Fast-forward master to the latest published release tag so master always represents the latest release. |
reusable-release-drafter.yml |
Update the open draft release with a changelog from merged PRs via release-drafter/release-drafter. |
reusable-release-publish.yml |
Promote an open release-drafter draft to a published release for a given tag, with an optional dry-run validation gate; for HACS integrations it attaches a <domain>.zip asset to the draft before publish. |
reusable-spelling-vale.yaml |
Lint Markdown prose via errata-ai/vale-action with inline reviewdog annotations on pull requests. |
reusable-sphinx.yaml |
Build and publish a Sphinx documentation site to GitHub Pages. |
reusable-stale.yaml |
Mark and close stale issues and pull requests via actions/stale. |
reusable-trivy.yaml |
Scan the repository with aquasecurity/trivy-action. |
reusable-tf-lint.yaml |
Lint Terraform sources with terraform-linters/setup-tflint. |
Detailliert dokumentiert¶
-
Statische Tests
Pre-Commit- und EditorConfig-Linting für jedes Repository.
-
Coverage
Python- oder Node.js-Testabdeckung in die Job-Zusammenfassung rendern, mit optionalem
fail-under-Gate. -
Dokumentation
Eine MkDocs-Site bauen und auf GitHub Pages veröffentlichen.
-
Release
Release-Notes als Entwurf pflegen und
masterauf den aktuellen Release-Tag bringen. -
HACS-Validierung
Eine HACS-Custom-Integration mit
hacs/actionundhassfestvalidieren und das Release-ZIP-Asset ausliefern. -
Container-Images
Ein
Dockerfilelinten und trocken bauen, dann ein Image mit plattformsignierter Build-Provenance veröffentlichen.
Konventionen
Jeder wiederverwendbare Workflow nimmt seine Eingaben über workflow_call.inputs entgegen. Aufrufer übergeben Secrets explizit — dieses Repository liest keine umgebungsweiten Organisation-Secrets.