Alle Open-Source-Pakete
InfrastrukturYAML

.github

Gemeinsame Community-Dateien und sieben wiederverwendbare GitHub-Actions-Workflows für die Repositories unter muhittincamdali.

0SterneNeueste Version: v1.1.0Aktualisiert: 14. Oktober 2026
Plattformen:GitHub Actions

Lizenz: MIT

GitHub wendet den Contributing Guide, den Code of Conduct, die Security Policy, den Support Guide, die Issue-Formulare und die Pull-Request-Vorlage aus diesem Repository auf jedes Repository an, das keine eigene Kopie hat. Daneben gibt es sieben wiederverwendbare Workflows, die andere Repositories per workflow_call aufrufen: Swift-Package-Build und -Test mit optionalem xcodebuild pro Apple-Plattform, DocC nach GitHub Pages, Flutter, Node.js, lychee-Linkprüfungen, eine README-Übersetzungsprüfung und ein Hygiene-Scan für Dateien und Commit-Nachrichten. Jede Action ist auf einen vollständigen Commit-SHA festgelegt, jeder Job verlangt nur die Berechtigungen, die er braucht, und aufrufende Repositories pinnen die Workflows auf einen getaggten Commit, den Dependabot aktuell hält.

Funktionen

  • swift-ci: swift build --build-tests und swift test, dazu eine optionale xcodebuild-Matrix für iOS, macOS, Mac Catalyst, tvOS, watchOS und visionOS
  • docc-pages: baut DocC mit xcodebuild docbuild, führt mehrere Module zu einer Site zusammen und veröffentlicht sie auf GitHub Pages
  • flutter-ci und node-ci: format, analyze und test für Flutter; Installation aus der Lockfile mit npm oder pnpm sowie die vorhandenen lint-, typecheck-, test- und build-Skripte, auf mehreren Node.js-Versionen
  • links: lychee-Link- und #anchor-Prüfung mit einem Ein-Tages-Cache und einer gemeinsamen Standardkonfiguration
  • readme-i18n-sync: jede README.<lang>.md nennt den Git-Blob der englischen README, die sie übersetzt; Codeblöcke und URLs müssen übereinstimmen, solange sie die aktuelle Version für sich beansprucht
  • hygiene: weist Tool-Namen, nicht verifizierbare Superlative und ausgemusterte Slogans in verfolgten Dateien und in gepushten Commits zurück, mit einer Allow-List pro Repository
  • Actions, die auf vollständige Commit-SHAs festgelegt sind, Berechtigungen pro Job, persist-credentials: false und Concurrency-Gruppen, die veraltete Pull-Request-Läufe abbrechen
  • Das Repository prüft sich selbst mit actionlint (mit shellcheck), hygiene und links

Schnellstart

yaml
1name: CI
2 
3on:
4 push:
5 branches: [main]
6 pull_request:
7 
8permissions: {}
9 
10jobs:
11 swift:
12 permissions:
13 contents: read
14 uses: muhittincamdali/.github/.github/workflows/swift-ci.yml@<sha> # v1
15 with:
16 platforms: '["iOS", "macOS", "tvOS", "watchOS", "visionOS"]'
17 
18 hygiene:
19 permissions:
20 contents: read
21 uses: muhittincamdali/.github/.github/workflows/hygiene.yml@<sha> # v1

Installation

Call a workflow from a repository

yaml
1jobs:
2 swift:
3 permissions:
4 contents: read
5 uses: muhittincamdali/.github/.github/workflows/swift-ci.yml@<sha> # v1
6 with:
7 platforms: '["iOS", "macOS", "tvOS", "watchOS", "visionOS"]'

Zeitleiste

  1. Repository eröffnet mit den gemeinsamen Community-Dateien und sechs wiederverwendbaren Workflows (swift-ci, docc-pages, flutter-ci, node-ci, links, hygiene), danach die README-Übersetzungsprüfung; getaggt als v1 und v1.0.0

  2. v1.1.0: docc-pages erhält den optionalen Input skip-synthesized-members, damit ein Package mit vielen SwiftUI-Views auf GitHub Pages passt

Links

Verwandter Artikel

Artikel lesen