|
|
@ -1,77 +0,0 @@ |
|
|
|
#!/usr/bin/env bash |
|
|
|
set -euo pipefail |
|
|
|
|
|
|
|
if [ "$CIRCLE_BRANCH" == "" ]; then |
|
|
|
echo "this script is meant to be run on CircleCI, exiting" |
|
|
|
echo 1 |
|
|
|
fi |
|
|
|
|
|
|
|
# check for changes in the `rpc/core` directory |
|
|
|
did_rpc_change=$(git diff --name-status $CIRCLE_BRANCH origin/master | grep rpc/core) |
|
|
|
|
|
|
|
if [ "$did_rpc_change" == "" ]; then |
|
|
|
echo "no changes detected in rpc/core, exiting" |
|
|
|
exit 0 |
|
|
|
else |
|
|
|
echo "changes detected in rpc/core, continuing" |
|
|
|
fi |
|
|
|
|
|
|
|
# only run this script on changes to rpc/core committed to develop |
|
|
|
if [ "$CIRCLE_BRANCH" != "master" ]; then |
|
|
|
echo "the branch being built isn't master, exiting" |
|
|
|
exit 0 |
|
|
|
else |
|
|
|
echo "on master, building the RPC docs" |
|
|
|
fi |
|
|
|
|
|
|
|
# godoc2md used to convert the go documentation from |
|
|
|
# `rpc/core` into a markdown file consumed by Slate |
|
|
|
go get github.com/davecheney/godoc2md |
|
|
|
|
|
|
|
# slate works via forks, and we'll be committing to |
|
|
|
# master branch, which will trigger our fork to run |
|
|
|
# the `./deploy.sh` and publish via the `gh-pages` branch |
|
|
|
slate_repo=github.com/tendermint/slate |
|
|
|
slate_path="$GOPATH"/src/"$slate_repo" |
|
|
|
|
|
|
|
if [ ! -d "$slate_path" ]; then |
|
|
|
git clone https://"$slate_repo".git $slate_path |
|
|
|
fi |
|
|
|
|
|
|
|
# the main file we need to update if rpc/core changed |
|
|
|
destination="$slate_path"/source/index.html.md |
|
|
|
|
|
|
|
# we remove it then re-create it with the latest changes |
|
|
|
rm $destination |
|
|
|
|
|
|
|
header="--- |
|
|
|
title: RPC Reference |
|
|
|
|
|
|
|
language_tabs: |
|
|
|
- shell |
|
|
|
- go |
|
|
|
|
|
|
|
toc_footers: |
|
|
|
- <a href='https://tendermint.com/'>Tendermint</a> |
|
|
|
- <a href='https://github.com/lord/slate'>Documentation Powered by Slate</a> |
|
|
|
|
|
|
|
search: true |
|
|
|
---" |
|
|
|
|
|
|
|
# write header to the main slate file |
|
|
|
echo "$header" > "$destination" |
|
|
|
|
|
|
|
# generate a markdown from the godoc comments, using a template |
|
|
|
rpc_docs=$(godoc2md -template rpc/core/doc_template.txt github.com/tendermint/tendermint/rpc/core | grep -v -e "pipe.go" -e "routes.go" -e "dev.go" | sed 's$/src/target$https://github.com/tendermint/tendermint/tree/master/rpc/core$') |
|
|
|
|
|
|
|
# append core RPC docs |
|
|
|
echo "$rpc_docs" >> "$destination" |
|
|
|
|
|
|
|
# commit the changes |
|
|
|
cd $slate_path |
|
|
|
|
|
|
|
git config --global user.email "github@tendermint.com" |
|
|
|
git config --global user.name "tenderbot" |
|
|
|
|
|
|
|
git commit -a -m "Update tendermint RPC docs via CircleCI" |
|
|
|
git push -q https://${GITHUB_ACCESS_TOKEN}@github.com/tendermint/slate.git master |