This folder, lib/travis
contains the main code for the Travis Core repository. It contains several sub-section/subdirectories:
addons
: Event handlers that take events such as "build finished" and sends out notifications to GitHub, Pusher, Campfire, etc.api
: Serializers for models and events used in our API and in some other places (for example to generate Pusher payloads).enqueue
: Logic for enqueueing jobs.event
: Code for sending and subscribing to events. Used by theaddons
code to subscribe to changes in the models.github
: Services for communicating with the GitHub API.mailer
: ActionMailer mailers.model
: All of our ActiveRecord models.notification
: Code for adding instrumentation.requests
: Handles requests received from GitHub.secure_config.rb
: Logic for encrypting and decrypting build/job configs.services
: Most of the business logic behind our API.testing
: Code used by our tests, such as model stubs and factories.