Permalink
Browse files

Travis CI integration: automatic linting, rebuilding index.json, buil…

…ding pages archive, and little other improvements
  • Loading branch information...
1 parent f877d15 commit f1d3e87069c3c0bc0e1da7319c406d7b730f0c71 @igorshubovych igorshubovych committed Dec 4, 2015
Showing with 99 additions and 5 deletions.
  1. +4 −0 .editorconfig
  2. +16 −0 .travis.yml
  3. +3 −1 Gemfile
  4. +3 −0 Gemfile.lock
  5. +8 −3 Makefile
  6. +63 −0 scripts/build.sh
  7. +2 −1 scripts/markdown-style.rb
View
@@ -10,3 +10,7 @@ insert_final_newline = true
[*.md]
trim_trailing_whitespace = false
+
+[Makefile]
+indent_style = tab
+indent_size = 8
View
@@ -0,0 +1,16 @@
+language: ruby
+rvm:
+ - 2.2.2
+
+gemfile:
+ - Gemfile
+
+script:
+ - make check
+
+after_success:
+ - bash scripts/build.sh
+
+env:
+ global:
+ secure: PC9nFPE034jPsF0nUn7phCt0RgVouIvd0HsQkOonNSiElh+pkFyaVvDIsQR8lF4x1AxFjz9Yo3qnNGM3txvOMiNqfReDRINfnpvLDkumCeXuKYNO8XyacTHyxMWp0sZM/YhHhJ8qhroSbNOcYYduSW+fTAoyILieRNg+Wwx7b/rdybVKW7d45GDhjmxvx0/cVhLgghXZr7SRMRh89xrGRkT8vRY7xwlmMs83YRSEcs9pkBrdAfSG/16yOCAQVUS1z10zXk/SsRZlNGKzSWsvb1H/OlkHZpxpnawJhmn2iNIy25acqRdyLwv5Oy5P2sQDBjNenTmiv0JL9v7ks5uNtXaIimvSieLKn/vLmGmW/8ArifqwPpEcL/ZmoCH5SzNrvtO06TfuYPCWGrfLKBxySh4jnza8y8YruKlQfjWDm/o5MmiJWvM1mVtIRozO9hDYZ1EMf4e8qlT7K6Y3alWbl3PqZ/DnLHYIUEvtYv5M0H2Ydtqh5JIWj/XRaNSwwmL4Lpcz3AKavP93N4tYAoGIWO9hkVpwCYz3qNH9dIxQJ7ancj01FWVFqqbLcBLPk8MaQsuFSBZpIz9PTLFdtso/YnviqSu5I7GMsFQdvGY8Mth207dMCVs7DRYe9QCjpboQoiCPY8ckmVYvlYdrDMjnfkhQC/OfZLitVLBe6zyEwTs=
View
@@ -1,3 +1,5 @@
source 'https://rubygems.org'
-gem 'mdl'
+group :development, :test do
+ gem 'mdl'
+end
View
@@ -14,3 +14,6 @@ PLATFORMS
DEPENDENCIES
mdl
+
+BUNDLED WITH
+ 1.10.6
View
@@ -1,3 +1,5 @@
+default: check
+
all: setup index
index:
@@ -14,10 +16,13 @@ hooks:
deps:
@bundle
@echo "OK"
-
+
+check:
+ @bundle exec mdl --style ./scripts/markdown-style.rb pages
+
lint:
- @GEM_PATH=.gem find pages -exec .gem/bin/mdl {} --style ./scripts/markdown-style.rb 1>&2 \;
-
+ @GEM_PATH=.gem find pages -exec mdl {} --style ./scripts/markdown-style.rb 1>&2 \;
+
lint-changed:
@./scripts/lint-changed.sh
View
@@ -0,0 +1,63 @@
+#!/usr/bin/env bash
+
+set -ev
+
+function initialize {
+ if [ -z "$TLDRHOME" ]; then
+ export TLDRHOME=${TRAVIS_BUILD_DIR:-`pwd`}
+ fi
+ export TLDR_ARCHIVE="tldr.zip"
+ export SITE_HOME="$HOME/site"
+ export SITE_URL="github.com/tldr-pages/tldr-pages.github.io"
+
+ git config --global user.email "travis@travis-ci.org"
+ git config --global user.name "Travis CI"
+ git config --global push.default simple
+ git config --global diff.zip.textconv "unzip -c -a"
+}
+
+function rebuild_index {
+ $TLDRHOME/scripts/build_index.rb
+ echo "Rebuilding index is done"
+}
+
+function build_archive {
+ echo "Removing $TLDR_ARCHIVE if it exists"
+ rm -f $TLDR_ARCHIVE
+
+ echo "Creating an archive $TLDR_ARCHIVE"
+ cd $TLDRHOME/
+ zip -r $TLDR_ARCHIVE pages/ LICENSE.md
+}
+
+function upload_assets {
+ echo "Uploading assets to static site"
+
+ git clone --quiet --depth 1 https://${GH_TOKEN}@${SITE_URL} $SITE_HOME
+ mv -f $TLDR_ARCHIVE $SITE_HOME/assets/
+ cp -f $TLDRHOME/pages/index.json $SITE_HOME/assets/
+
+ cd $SITE_HOME
+ git add -A .
+ git commit -m "[TravisCI] uploaded assets after commits ${TRAVIS_COMMIT_RANGE}"
+ if [[ ! `git push -q` ]]; then
+ echo "Cannot push to a static site"
+ else
+ echo "Assets deployed"
+ fi
+}
+
+###################################
+# MAIN
+###################################
+
+if [ ! "$TRAVIS_PULL_REQUEST" == "false" ]; then
+ echo "This is a Pull Request, no index rebuild needed"
+elif [ ! "$TRAVIS_BRANCH" == "master" ]; then
+ echo "This is not a master branch, no index rebuild needed"
+else
+ initialize
+ rebuild_index
+ build_archive
+ upload_assets
+fi
@@ -1,4 +1,5 @@
# This file contains the markdown rules markdownlint will check for
all
-exclude_rule 'MD013' # Lengthy lines (80+ chars)
+exclude_rule 'MD013' # Lengthy lines (80+ chars)
+exclude_rule 'MD034' # Allow bare URLs

0 comments on commit f1d3e87

Please sign in to comment.