set -euxo pipefail main() { local langs=( en ru ) local vers=( 0.4.3 ) rm -f .cargo/config cargo doc local td=$(mktemp -d) # build latest docs cp -r target/doc $td/api mkdir $td/book/ cp redirect.html $td/index.html for lang in ${langs[@]}; do ( cd book/$lang && mdbook build ) cp -r book/$lang/book $td/book/$lang cp LICENSE-* $td/book/$lang/ done # build older docs for ver in ${vers[@]}; do local prefix=${ver%.*} mkdir -p $td/$prefix/book local src=$(mktemp -d) curl -L https://github.com/rtfm-rs/cortex-m-rtfm/archive/v${ver}.tar.gz | tar xz --strip-components 1 -C $src pushd $src cargo doc || cargo doc --features timer-queue cp -r target/doc $td/$prefix/api for lang in ${langs[@]}; do ( cd book/$lang && mdbook build ) cp -r book/$lang/book $td/$prefix/book/$lang cp LICENSE-* $td/$prefix/book/$lang/ done popd rm -rf $src done mkdir ghp-import curl -Ls https://github.com/davisp/ghp-import/archive/master.tar.gz | tar --strip-components 1 -C ghp-import -xz ./ghp-import/ghp_import.py $td set +x git push -fq https://$GH_TOKEN@github.com/rtfm-rs/cortex-m-rtfm.git gh-pages && echo OK rm -rf $td } # fake Travis variables to be able to run this on a local machine if [ -z ${TRAVIS_BRANCH-} ]; then TRAVIS_BRANCH=master fi if [ -z ${TRAVIS_PULL_REQUEST-} ]; then TRAVIS_PULL_REQUEST=false fi if [ $TRAVIS_BRANCH = master ] && [ $TRAVIS_PULL_REQUEST = false ]; then main fi