Voor maintainers
De documentatie voor maintainers staat in de repository, naast de code die ze beschrijft, zodat ze in dezelfde pull request meeverandert.
| Document | Waar het over gaat |
|---|---|
| docs/setup.md | Alles wat de maintainer buiten de code instelt: ondertekening, de GitHub-app, de secrets voor releases |
| docs/releasing.md | De procedure voor een release en de secrets in Actions |
| docs/github-app.md | De GitHub-app achter Inloggen met GitHub |
| docs/website.md | Deze website: GitHub Pages, het eigen domein en de DNS-records ervan |
| site/README.md | Deze website draaien en bouwen, en een pagina toevoegen |
| CHANGELOG.md | De release notes van elke versie |
Bouwen uit de broncode
Sectie met de titel “Bouwen uit de broncode”Je hebt Xcode 27 (Swift 6.4) nodig op macOS 26.6 of nieuwer. Optioneel az (az login), gh (gh auth login) of glab (glab auth login) om via een opdrachtregeltool in te loggen.
Open Pullwatch/Pullwatch.xcodeproj en voer het scheme Pullwatch uit (⌘R), of vanaf de opdrachtregel:
swift test --package-path PullwatchKit # the PullwatchKit unit testsxcodebuild -project Pullwatch/Pullwatch.xcodeproj -scheme Pullwatch buildscripts/release/release.sh --unsigned # dist/Pullwatch-<version>.dmg and .zip, ad hoc signedscripts/release/release.sh # signed with Developer ID, notarized and stapledDraai je vanuit Xcode terwijl een geïnstalleerde Pullwatch open is, dan krijg je twee iconen in de menubalk; stop eerst de geïnstalleerde met Stop Pullwatch in het menupaneel ervan. Een ad hoc ondertekende build kan voor accounts met een token na elke installatie opnieuw om toegang tot de sleutelhanger vragen; kies Sta altijd toe.
De repository
Sectie met de titel “De repository”Pullwatch/: de app, met het Xcode-project.Pullwatch/Pullwatch/heeft per onderdeel een map met het model en de views, zoalsAccounts/,PullRequests/,Repositories/enSettings/.PullwatchKit/: het Swift-package dat de app linkt, met de unittests. De modules zijnPullwatchCore(modellen, polling, geschiedenis, versiechecks, updates),PullwatchGitHub,PullwatchAzureDevOpsenPullwatchGitLab(één per dienst),PullwatchProviders(kiest de dienst voor een account) enPullwatchMCP(de server voor coding agents).site/: deze website.scripts/: de scripts voor releases, checks en ontwikkeling.docs/: de documenten voor maintainers hierboven.
Een releasebuild maken
Sectie met de titel “Een releasebuild maken”release.sh bouwt de app, haalt de XPC-services van Sparkle weg (alleen een app in een sandbox heeft die nodig) en ondertekent de onderdelen van Sparkle een voor een, en geeft de app dan door aan scripts/release/package.sh. Dat maakt de schijfkopie en Pullwatch-<version>.zip, de update die Sparkle installeert; de release-workflow schrijft daarvoor de ondertekende appcast.xml.
De schijfkopie opent als installatievenster: de app links, Apps rechts, en een achtergrond getekend door scripts/release/dmg-background.swift met “Install Pullwatch” en een pijl ertussen. Finder legt dat venster aan via AppleScript, dus de eerste keer wordt gevraagd of je terminal Finder mag besturen; sta dat toe onder Systeeminstellingen, Privacy en beveiliging, Automatisering.
De versie is MARKETING_VERSION, en het buildnummer CURRENT_PROJECT_VERSION, in Pullwatch/App.xcconfig. Een ondertekende release heeft een Developer ID Application-certificaat in de sleutelhanger nodig en een notarytool-profiel (xcrun notarytool store-credentials pullwatch --apple-id <id> --team-id <team>); kies andere met SIGN_ID=... en NOTARY_PROFILE=.... docs/releasing.md heeft de volledige procedure.
