Skip to content

Commit

Permalink
Travis CI integration: automatic linting, rebuilding index.json, buil…
Browse files Browse the repository at this point in the history
…ding pages archive, and little other improvements
  • Loading branch information
igorshubovych committed Dec 4, 2015
1 parent f877d15 commit f1d3e87
Show file tree
Hide file tree
Showing 7 changed files with 99 additions and 5 deletions.
4 changes: 4 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,7 @@ insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[Makefile]
indent_style = tab
indent_size = 8
16 changes: 16 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -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=
4 changes: 3 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
source 'https://rubygems.org'

gem 'mdl'
group :development, :test do
gem 'mdl'
end
3 changes: 3 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,6 @@ PLATFORMS

DEPENDENCIES
mdl

BUNDLED WITH
1.10.6
11 changes: 8 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
default: check

all: setup index

index:
Expand All @@ -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

Expand Down
63 changes: 63 additions & 0 deletions scripts/build.sh
Original file line number Diff line number Diff line change
@@ -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 "[email protected]"
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
3 changes: 2 additions & 1 deletion scripts/markdown-style.rb
Original file line number Diff line number Diff line change
@@ -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.