Tous les paquets open source
InfrastructureYAML

.github

Fichiers communautaires partagés et sept workflows GitHub Actions réutilisables pour les dépôts sous muhittincamdali.

0ÉtoilesDernière version: v1.1.0Mis à jour: 14 octobre 2026
Plateformes:GitHub Actions

Licence: MIT

GitHub applique le guide de contribution, le code de conduite, la politique de sécurité, le guide de support, les formulaires d'issue et le modèle de pull request de ce dépôt à tout dépôt qui n'en a pas sa propre copie. À côté se trouvent sept workflows réutilisables que les autres dépôts appellent avec workflow_call : build et test de package Swift avec xcodebuild optionnel par plateforme Apple, DocC vers GitHub Pages, Flutter, Node.js, vérification des liens avec lychee, une vérification de traduction du README et un contrôle d'hygiène des fichiers et des messages de commit. Chaque action est épinglée à un SHA de commit complet, chaque job ne demande que les permissions dont il a besoin, et les dépôts appelants épinglent les workflows à un commit étiqueté que Dependabot maintient à jour.

Fonctionnalités

  • swift-ci : swift build --build-tests et swift test, plus une matrice xcodebuild optionnelle pour iOS, macOS, Mac Catalyst, tvOS, watchOS et visionOS
  • docc-pages : construit DocC avec xcodebuild docbuild, fusionne plusieurs modules en un seul site et le déploie sur GitHub Pages
  • flutter-ci et node-ci : format, analyze et test pour Flutter ; installation depuis le lockfile avec npm ou pnpm, puis les scripts lint, typecheck, test et build existants, sur plusieurs versions de Node.js
  • links : vérification des liens et des ancres #anchor par lychee, avec un cache d'un jour et une configuration par défaut partagée
  • readme-i18n-sync : chaque README.<lang>.md indique le blob git du README anglais qu'il traduit ; les blocs de code et les URL doivent correspondre tant qu'il affirme traduire la version actuelle
  • hygiene : rejette les noms d'outils, les superlatifs invérifiables et les anciens slogans dans les fichiers suivis et dans les commits poussés, avec une liste d'exceptions par dépôt
  • Actions épinglées à des SHA de commit complets, permissions par job, persist-credentials: false et groupes de concurrency qui annulent les exécutions obsolètes de pull request
  • Le dépôt se contrôle lui-même avec actionlint (avec shellcheck), hygiene et links

Démarrage rapide

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"]'

Chronologie

  1. Dépôt ouvert avec les fichiers communautaires partagés et six workflows réutilisables (swift-ci, docc-pages, flutter-ci, node-ci, links, hygiene), puis la vérification de traduction du README ; étiqueté v1 et v1.0.0

  2. v1.1.0 : docc-pages reçoit l'entrée optionnelle skip-synthesized-members, pour qu'un package avec de nombreuses vues SwiftUI tienne sur GitHub Pages

Liens

Article associé

Lire l'article