diff --git a/.travis.yml b/.travis.yml index 781ab558e..579e59474 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 dd5680fad..b0bbf2115 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".