TeamEidinger/swift-package-os-example v1.1.0
illustrate the use of best practices and tooling when it comes to maintaining a Swift package as an Open Source project on github.com
⭐️ 0
🕓 2 years ago
.package(url: "https://github.com/TeamEidinger/swift-package-os-example.git", from: "v1.1.0")
swift-package-os-example
The main purpose of this repository is to illustrate the use of best practices and tooling when it comes to maintaining a Swift package as an Open Source project on github.com
- Use SwiftLint to enforce code style, see swiftlint.yml
- Use Markups and Jazzy to generate documentation from code, see jazzy.yaml
- Check code style on every pull request with Hound, see hound.yml
- Attention: requires that GitHub organization has respective Hound GitHub app installed!
- Build and test the Swift package for every push / pull request leveraging GitHub [workflow / actions], see swift.yml
- Monitor code coverage for every pull request with CodeCov, see codecov.yml and swift.yml
- Run UI tests (as part of a separate test app) for every push / pull request leveraging GitHub workflow / actions, see TestApp.yml
- Schedule a daily job to close stale issues with help of GitHub workflow / actions, see scheduled.yml
- PR utilities like automatic rebase which can be triggered by commenting PR; powered by GitHub action
- Use templates for issues and pull requests, see ISSUE_TEMPLATE.md and PULL_REQUEST_TEMPLATE.md
- Define code owners which get automatically requested for code review on a pull request, see CODEOWNERS
- Automatic versioning and changelog generation with the help of conventional commits and tooling
FYI: the first release was created manually with command
npx standard-version --first-release