.github
muhittincamdali altındaki repolar için paylaşılan topluluk dosyaları ve yedi reusable GitHub Actions workflow'u.
Lisans: MIT
GitHub, bu repodaki katkı rehberini, davranış kurallarını, güvenlik politikasını, destek rehberini, issue formlarını ve pull request şablonunu kendi kopyası olmayan her repoya uyguluyor. Yanlarında diğer repoların workflow_call ile çağırdığı yedi reusable workflow var: Swift package build ve test (isteğe bağlı olarak her Apple platformu için xcodebuild), DocC'den GitHub Pages'e, Flutter, Node.js, lychee ile bağlantı kontrolü, README çeviri kontrolü ve dosyalarla commit mesajlarını tarayan bir hygiene kontrolü. Her action tam commit SHA'sına sabitlenmiş, her job yalnızca ihtiyaç duyduğu izni istiyor; çağıran repolar workflow'ları Dependabot'un güncel tuttuğu etiketli bir commit'e sabitliyor.
Özellikler
- swift-ci: swift build --build-tests ve swift test; ayrıca iOS, macOS, Mac Catalyst, tvOS, watchOS ve visionOS için isteğe bağlı xcodebuild matrisi
- docc-pages: DocC'yi xcodebuild docbuild ile derliyor, birden fazla modülü tek sitede birleştiriyor ve GitHub Pages'e yayımlıyor
- flutter-ci ve node-ci: Flutter için format, analyze ve test; npm ya da pnpm ile lockfile'dan kurulum ve mevcut lint, typecheck, test, build script'lerinin birden fazla Node.js sürümünde çalıştırılması
- links: bir günlük cache ve paylaşılan varsayılan ayarlarla lychee bağlantı ve #anchor kontrolü
- readme-i18n-sync: her README.<lang>.md çevirdiği İngilizce README'nin git blob'unu belirtiyor; güncel sürümü çevirdiğini söylediği sürece kod blokları ve URL'ler aynı olmak zorunda
- hygiene: takip edilen dosyalarda ve push edilen commit'lerde araç adlarını, doğrulanamayan üstünlük iddialarını ve emekliye ayrılmış sloganları reddediyor; repo başına izin listesi var
- Tam commit SHA'sına sabitlenmiş action'lar, job başına izinler, persist-credentials: false ve eski pull request çalıştırmalarını iptal eden concurrency grupları
- Repo kendini actionlint (shellcheck ile), hygiene ve links ile kontrol ediyor
Hızlı Başlangıç
1name: CI2 3on:4 push:5 branches: [main]6 pull_request:7 8permissions: {}9 10jobs:11 swift:12 permissions:13 contents: read14 uses: muhittincamdali/.github/.github/workflows/swift-ci.yml@<sha> # v115 with:16 platforms: '["iOS", "macOS", "tvOS", "watchOS", "visionOS"]'17 18 hygiene:19 permissions:20 contents: read21 uses: muhittincamdali/.github/.github/workflows/hygiene.yml@<sha> # v1Kurulum
Call a workflow from a repository
1jobs:2 swift:3 permissions:4 contents: read5 uses: muhittincamdali/.github/.github/workflows/swift-ci.yml@<sha> # v16 with:7 platforms: '["iOS", "macOS", "tvOS", "watchOS", "visionOS"]'Zaman Çizelgesi
Repo, paylaşılan topluluk dosyaları ve altı reusable workflow (swift-ci, docc-pages, flutter-ci, node-ci, links, hygiene) ile açıldı, ardından README çeviri kontrolü eklendi; v1 ve v1.0.0 etiketlendi
v1.1.0: docc-pages'e isteğe bağlı skip-synthesized-members girdisi eklendi; çok sayıda SwiftUI view'ı olan bir paket artık GitHub Pages'e sığıyor