Skip to content

Commit

Permalink
1.10.0: Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
bombcheck committed Sep 1, 2019
2 parents 75a2cd0 + a429163 commit 5db817a
Show file tree
Hide file tree
Showing 140 changed files with 9,866 additions and 1,951 deletions.
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
.pioenvs
.piolibdeps
.pio
.clang_complete
.gcc-flags.json
.sconsign.dblite
/web/node_modules
/web/build
/web/package-lock.json
/dist/*.bin
/dist/docs
.vscode/
.vscode/.browse.c_cpp.db*
.vscode/c_cpp_properties.json
.vscode/launch.json
/test/remote/settings.json
/test/remote/espmh.env

web/package-lock\.json
72 changes: 72 additions & 0 deletions .prepare_docs
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
#!/usr/bin/env bash

# This script sets up API documentation bundles for deployment to Github Pages.
# It expects the following structure:
#
# In development branches:
#
# * ./docs/openapi.yaml - OpenAPI spec in
# * ./docs/gh-pages - Any assets that should be copied to gh-pages root
#
# In Github Pages, it will generate:
#
# * ./ - Files from ./docs/gh-pages will be copied
# * ./branches/<branch>/... - Deployment bundles including an index.html
# and a snapshot of the Open API spec.

set -eo pipefail

prepare_docs_log() {
echo "[prepare docs release] -- $@"
}

# Only run for tagged commits
if [ -z "$(git tag -l --points-at HEAD)" ]; then
prepare_docs_log "Skipping non-tagged commit."
exit 0
fi

DOCS_DIR="./docs"
DIST_DIR="./dist/docs"
BRANCHES_DIR="${DIST_DIR}/branches"
API_SPEC_FILE="${DOCS_DIR}/openapi.yaml"

rm -rf "${DIST_DIR}"

redoc_bundle_file=$(mktemp)
git_ref_version=$(git describe --always)
branch_docs_dir="${BRANCHES_DIR}/${git_ref_version}"

# Build Redoc bundle (a single HTML file)
redoc-cli bundle ${API_SPEC_FILE} -o ${redoc_bundle_file} --title 'Milight Hub API Documentation'

# Check out current stuff from gh-pages (we'll append to it)
git fetch origin 'refs/heads/gh-pages:refs/heads/gh-pages'
git checkout gh-pages -- branches || prepare_docs_log "Failed to checkout branches from gh-pages, skipping..."

if [ -e "./branches" ]; then
mkdir -p "${DIST_DIR}"
mv "./branches" "${BRANCHES_DIR}"
else
mkdir -p "${BRANCHES_DIR}"
fi

if [ -e "${DOCS_DIR}/gh-pages" ]; then
cp -r ${DOCS_DIR}/gh-pages/* "${DIST_DIR}"
else
prepare_docs_log "Skipping copy of gh-pages dir, doesn't exist"
fi

# Create the docs bundle for our ref. This will be the redoc bundle + a
# snapshot of the OpenAPI spec
mkdir -p "${branch_docs_dir}"
cp "${API_SPEC_FILE}" "${branch_docs_dir}"
cp "${redoc_bundle_file}" "${branch_docs_dir}/index.html"

# Update `latest` symlink to this branch
rm -rf "${BRANCHES_DIR}/latest"
ln -s "${git_ref_version}" "${BRANCHES_DIR}/latest"

# Create a JSON file containing a list of all branches with docs (we'll
# have an index page that renders the list).
ls "${BRANCHES_DIR}" | jq -Rc '.' | jq -sc '.' > "${DIST_DIR}/branches.json"
10 changes: 8 additions & 2 deletions .prepare_release
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ prepare_log() {
echo "[prepare release] -- $@"
}

if ! git describe --exact-match HEAD 2>/dev/null; then
if [ -z "$(git tag -l --points-at HEAD)" ]; then
prepare_log "Skipping non-tagged commit."
exit 0
fi
Expand All @@ -17,7 +17,13 @@ prepare_log "Preparing release for tagged version: $VERSION"

mkdir -p dist

for file in $(ls .pioenvs/**/firmware.bin); do
if [ -d .pio/build ]; then
firmware_prefix=".pio/build"
else
firmware_prefix=".pioenvs"
fi

for file in $(ls ${firmware_prefix}/**/firmware.bin); do
env_dir=$(dirname "$file")
env=$(basename "$env_dir")

Expand Down
35 changes: 23 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,36 @@ cache:
directories:
- "~/.platformio"
env:
- NODE_VERSION="6"
- NODE_VERSION="10"
before_install:
- nvm install $NODE_VERSION
install:
- pip install -U https://github.com/platformio/platformio-core/archive/develop.zip
- pip install -U platformio
- platformio lib install
- cd web && npm install && cd ..
- npm install -g swagger-cli redoc-cli
script:
- swagger-cli validate ./docs/openapi.yaml
- platformio run
before_deploy:
- ./.prepare_release
- ./.prepare_docs
deploy:
provider: releases
prerelease: true
api_key:
secure: p1BjM1a/u20EES+pl0+w7B/9600pvpcVYTfMiZhyMOXB0MbNm+uZKYeqiG6Tf3A9duVqMtn0R+ROO+YqL5mlnrVSi74kHMxCIF2GGtK7DIReyEI5JeF5oSi5j9bEsXu8602+1Uez8tInWgzdu2uK2G0FJF/og1Ygnk/L3haYIldIo6kL+Yd6Anlu8L2zqiovC3j3r3eO8oB6Ig6sirN+tnK0ah3dn028k+nHQIMtcc/hE7dQjglp4cGOu+NumUolhdwLdFyW7vfAafxwf9z/SL6M14pg0N8qOmT4KEg4AZQDaKn0wT7VhAvPDHjt4CgPE7QsZhEKFmW7J9LGlcWN4X3ORMkBNPnmqrkVeZEE4Vlcm3CF5kvt59ks0qwEgjpvrqxdZZxa/h9ZLEBBEXMIekA4TSAzP/e/opfry11N1lvqXQ562Jc6oEKS+xWerWSALXyZI4K1T+fkgHTZCWGH4EI3weZY/zSCAZ6a7OpgFQWU9uHlJLMkaWrp78fSPqy6zcjxhXoJnBt8BT1BMRdmZum2YX91hfJ9aRvlEmhtxKgAcPgpJ0ITwB317lKh5VqAfMNZW7pXJEYdLCmUEKXv/beTvNmRIGgu1OjZ3BWchOgh/TwX46+Lrx1zL69sfE+6cBFbC+T2QIv4dxxSQNC1K0JnRVhbD1cOpSXz+amsLS0=
file_glob: true
skip_cleanup: true
file: dist/*.bin
on:
repo: sidoh/esp8266_milight_hub
tags: true
- provider: releases
prerelease: true
api_key:
secure: p1BjM1a/u20EES+pl0+w7B/9600pvpcVYTfMiZhyMOXB0MbNm+uZKYeqiG6Tf3A9duVqMtn0R+ROO+YqL5mlnrVSi74kHMxCIF2GGtK7DIReyEI5JeF5oSi5j9bEsXu8602+1Uez8tInWgzdu2uK2G0FJF/og1Ygnk/L3haYIldIo6kL+Yd6Anlu8L2zqiovC3j3r3eO8oB6Ig6sirN+tnK0ah3dn028k+nHQIMtcc/hE7dQjglp4cGOu+NumUolhdwLdFyW7vfAafxwf9z/SL6M14pg0N8qOmT4KEg4AZQDaKn0wT7VhAvPDHjt4CgPE7QsZhEKFmW7J9LGlcWN4X3ORMkBNPnmqrkVeZEE4Vlcm3CF5kvt59ks0qwEgjpvrqxdZZxa/h9ZLEBBEXMIekA4TSAzP/e/opfry11N1lvqXQ562Jc6oEKS+xWerWSALXyZI4K1T+fkgHTZCWGH4EI3weZY/zSCAZ6a7OpgFQWU9uHlJLMkaWrp78fSPqy6zcjxhXoJnBt8BT1BMRdmZum2YX91hfJ9aRvlEmhtxKgAcPgpJ0ITwB317lKh5VqAfMNZW7pXJEYdLCmUEKXv/beTvNmRIGgu1OjZ3BWchOgh/TwX46+Lrx1zL69sfE+6cBFbC+T2QIv4dxxSQNC1K0JnRVhbD1cOpSXz+amsLS0=
file_glob: true
skip_cleanup: true
file: dist/*.bin
on:
repo: sidoh/esp8266_milight_hub
tags: true
- provider: pages
skip_cleanup: true
local_dir: dist/docs
github_token: $GITHUB_TOKEN
keep_history: true
on:
repo: sidoh/esp8266_milight_hub
tags: true
Loading

0 comments on commit 5db817a

Please sign in to comment.