diff --git a/.travis.yml b/.travis.yml index 781ab558e44b0..579e59474755b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,24 @@ -language: node_js -sudo: false -node_js: - - 6 -before_script: - - npm install -g free-programming-books-lint -script: fpb-lint . +language: shell +dist: xenial +os: linux + +jobs: + include: + - + language: node_js + node_js: + - 6 + before_script: + - npm install -g free-programming-books-lint + script: + - fpb-lint . + + - + language: ruby + if: commit_message =~ /check_urls=/ + rvm: 2.4.1 + before_script: + - gem install awesome_bot + script: + - INPUT=$(echo $TRAVIS_COMMIT_MESSAGE | awk -F= '{print $2}') + - for i in $INPUT; do echo "processing $i"; awesome_bot $i --allow-redirect --allow-dupe --skip-save-results; done diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dd5680fadbd43..b0bbf2115807e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -118,3 +118,15 @@ GOOD: * [A Very Awesome Book (1970)](https://example.org/book.html) - Jane Roe ``` GOOD: * [Will Be Awesome Soon Book](http://example.com/book2.html) - John Doe (HTML) (:construction: *in process*) ``` + +### Automation +- Formatting rules enforcement is automated via [Travis CI](https://travis-ci.com) using [fpb-lint](https://github.com/vhf/free-programming-books-lint) (see [.travis.yml](.travis.yml)) +- URL validation uses [awesome_bot](https://github.com/dkhamsing/awesome_bot) +- To trigger URL validation, push a commit that includes a commit message containing `check_urls=file_to_check`: + +``` +check_urls=free-programming-books.md free-programming-books-en.md +``` + +- You may specify more than one file to check, using a single space to separate each entry. +- If you specify more than one file, results of the build is based on the result of the last file checked. You should be aware that you may get passing green builds due to this so be sure to inspect the build log at the end of the pull request by clicking on "Show all checks" -> "Details".