Available for free in the App Store!
An iPhone app that monitors continuous integration servers for the status of your builds. Should a build fail, a push notification will be sent to your phone with information about the faulty commit. Coming to the app store in just a week (or two)!
Currently supports Semaphore, Travis and Travis Pro. Jenkins and TeamCity support coming soon.
Feel free to fork the repo and contribute! The public Pivotal Tracker project can be found here.
The iPhone app uses Parse as its web server and therefore requires credentials.
Copy ProjectMonitor/Credentials.example.plist
to ProjectMonitor/Credentials.debug.plist
,
enter your Parse credentials.
Run pod install
in the client/
folder to download iOS frameworks and dependencies.
The project uses a variety of optional services (New Relic, Crashlytics, Twitter). Please refer to ProjectMonitor/Credentials.example.plist
and ProjectMonitor/ProjectMonitor-Info.debug.plist
.
Parse's Cloud Code is used to provide an authentication endpoint for private pusher channels. Details can be found in parse/README.md folder.
Sidekiq is the background worker of choice for this project. Start producing work by polling Parse for builds to update with rake produce
. These builds will then get updated by Sidekiq workers with rake work
.
Monitoring is available with rake monitor
.
The backend interacts with Parse's REST API and pushes updates with libPusher. Therefore keys are required in config/application.yml
file. Please see config/application.yml.example
as reference.
iOS Client tests use Kiwi and are run inside XCode.
Backend server tests can be run with RSpec with rake
in backend/
.
The backend tests use togglable fakes as outlined in the Engine Yard talk. The following command will run the same tests with full integration:
backend/ $ INTEGRATION=true rake
Travis CI runs a test matrix that runs both integration and fake runs as seen here.
Inspired by Pivotal's Project Monitor and cppforlife's Checkman.