My check-list when creating a Swift module / framework / project
- Create repo on github.com
- Download repo via github desktop
- Create SPM package
terminal: swift package init
SPM gotchas - Create XCode project
- Add Swift-lint
- Add Unit test (Optional)
- Check if tests pass locally:
terminal: swift test
or buildsterminal: swift build
- Add CI tests: GitHub Actions
- Add a cronjob schedule for the CITest via crontab.guru
- Add instructions on how to use the framework and CI badges in the repo
- Add CodeBeat code healthy badge to the repo
Schedule cron builds on github:
The nice thing with cron jobs is if you have nested dependencies, the build badges higher up will start to go red if the sub-modules they relay on start to break down.
on:
push:
branches:
- master
schedule:
- cron: "0 18 * * 0-6"
Github action badge syntax:
[![Github actions badge](https://badgen.net/github/checks/eonist/With?icon=github&label=Tests)](https://github.com/eonist/With/actions)
Compact checklist (easy to add as a todo-list etc)
And after this list you can start adding things you want the project to be.
- Make Github repo
- Make SPM Package
- Make XCode project
- Add linter
- Add unit-test
- Add Github-Actions
- Edit ReadMe.md
Reach goals:
- Add Automated code-reviews based on AI
- Add automated UITests
- Add code coverage services like codacy codeclimate etc