lib/danger/ci_source/travis.rb in danger-2.0.1 vs lib/danger/ci_source/travis.rb in danger-2.1.0

- old
+ new

@@ -1,29 +1,50 @@ # http://docs.travis-ci.com/user/osx-ci-environment/ # http://docs.travis-ci.com/user/environment-variables/ module Danger - module CISource - # https://travis-ci.com - class Travis < CI - def self.validates?(env) - return false unless env["HAS_JOSH_K_SEAL_OF_APPROVAL"] - return false unless env["TRAVIS_REPO_SLUG"] - return false unless env["TRAVIS_PULL_REQUEST"] + ### CI Setup + # You need to edit your `.travis.yml` to include `bundle exec danger`. If you already have + # a `script:` section then we recommend adding this command at the end of the script step: `- bundle exec danger`. + # + # Otherwise, add a `before_script` step to the root of the `.travis.yml` with `bundle exec danger` + # + # ```ruby + # before_script: + # - bundle exec danger + # ``` + # + # Adding this to your `.travis.yml` allows Danger to fail your build, both on the TravisCI website and within your Pull Request. + # With that set up, you can edit your job to add `bundle exec danger` at the build action. + # + # _Note:_ Travis CI defaults to using an older version of Ruby, so you may need to add `rvm: 2.0.0` to the root your `.travis.yml`. + # + # ### Token Setup + # + # You need to add the `DANGER_GITHUB_API_TOKEN` environment variable, to do this, + # go to your repo's settings, which should look like: `https://travis-ci.org/[user]/[repo]/settings`. + # + # If you have an open source project, you should ensure "Display value in build log" enabled, so that PRs from forks work. + # + class Travis < CI + def self.validates_as_ci?(env) + env.key? "HAS_JOSH_K_SEAL_OF_APPROVAL" + end - return true - end + def self.validates_as_pr?(env) + exists = ["TRAVIS_PULL_REQUEST", "TRAVIS_REPO_SLUG"].all? { |x| env[x] } + exists && env["TRAVIS_PULL_REQUEST"].to_i > 0 + end - def supported_request_sources - @supported_request_sources ||= [Danger::RequestSources::GitHub] - end + def supported_request_sources + @supported_request_sources ||= [Danger::RequestSources::GitHub] + end - def initialize(env) - self.repo_slug = env["TRAVIS_REPO_SLUG"] - if env["TRAVIS_PULL_REQUEST"].to_i > 0 - self.pull_request_id = env["TRAVIS_PULL_REQUEST"] - end - self.repo_url = GitRepo.new.origins # Travis doesn't provide a repo url env variable :/ + def initialize(env) + self.repo_slug = env["TRAVIS_REPO_SLUG"] + if env["TRAVIS_PULL_REQUEST"].to_i > 0 + self.pull_request_id = env["TRAVIS_PULL_REQUEST"] end + self.repo_url = GitRepo.new.origins # Travis doesn't provide a repo url env variable :/ end end end