My notes on Swift PM + CI Travis
Workflow:
- Create a project named HelloTravis on github. Then download it via Github desktop app
- Terminal:
cd dev/HelloTravis
π Navigate to the folder you just downloaded - Terminal:
swift package init
π Creates a Package.swift file etc - Terminal:
swift test
π Runs the first test - add an .travis.yml see YML paragraph
- Uploaded all the changes to github again.
- Create an account at: travis-ci.org (it takes zero time if you are logged into github)
- Find your HelloTravis project in your account list. Then switch the on/off but to on.
- Copy the MarkDown badge and add it to your README.md file in the HelloTravis project on github.
- Wait a little while and your Badge will become Green if all tests pass like this:
- Add More complex tests under the HelloTravis/Tests/HelloTravisTests.swift file.
- Add nested dependencies to your Tests by following this Tutorial on SPM + Nested frameworks
YML
A typical .travis.yml
file looks like this: (This is the config file for Travis)
os:
- osx
language: generic
sudo: required
dist: trusty
osx_image: xcode8.2
script:
- swift build #Builds the dependencies
- swift test #Tests whatever is inside the Test folder
notifications:
email:
on_success: never
on_failure: change
Final word:
Some people like to keep a /Tests folder in the github repo. I prefer not to because they are not always relevant to whom ever uses the repo. As such I prefer to keep tests in a βtestβ repo. Which pulls in the dependencies from other repos. Travis-CI has a simple button which can test your project daily/weekly/monthly. So you donβt have to push changes to test things.