Skip to content

Commit

Permalink
Migrate Docs build and release to Github Actions
Browse files Browse the repository at this point in the history
  • Loading branch information
adrw committed Mar 17, 2021
1 parent 76ab4fc commit a7c8bf0
Show file tree
Hide file tree
Showing 5 changed files with 98 additions and 21 deletions.
20 changes: 0 additions & 20 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,23 +86,6 @@ jobs:
steps:
- checkout
- run: sudo npm install -g @misk/cli && miskweb ci-build -e
docs:
machine:
image: circleci/classic:latest
parallelism: 1
steps:
- checkout # check out source code to working directory
- run: | # mkdocs wants to be run with Python 3, force the path to prioritize pyenv 3.5.2
pyenv global 3.5.2
export PATH="/opt/circleci/.pyenv/versions/3.5.2/lib/:$PATH"
pip install mkdocs mkdocs-material
- run: |
./gradlew dokka
- run: |
cat README.md | grep -v 'project website' > docs/index.md
cp CHANGELOG.md docs/changelog.md
cp RELEASING.md docs/releasing.md
- run: mkdocs build
workflows:
version: 2
on_commit:
Expand All @@ -113,13 +96,10 @@ workflows:
only: master
- java
- node
# Disabling this for now since it is breaking due to the python 2 -> 3 migration
# - docs
nightly:
jobs:
- java
- node
- docs
triggers:
- schedule:
# midnight mountain time in UTC
Expand Down
45 changes: 45 additions & 0 deletions .github/workflows/Publish-Website.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Publish the mkdocs to gh-pages

on:
pull_request:
push:
branches:
- master

env:
GRADLE_OPTS: -Dorg.gradle.configureondemand=true -Dorg.gradle.parallel=true -Dkotlin.incremental=false -Dorg.gradle.jvmargs="-Xmx3g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8"

jobs:
deploy-website:
runs-on: ubuntu-latest

steps:
- name: Checkout the repo
uses: actions/checkout@v2

- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8

- name: Configure JDK
uses: actions/setup-java@v1
with:
java-version: 14

- name: Prep mkdocs
run: .github/workflows/prepare_mkdocs.sh

- name: Build mkdocs
run: |
pip3 install mkdocs-macros-plugin
mkdocs build
- name: Deploy 🚀
if: success() && github.ref == 'refs/heads/master'
uses: JamesIves/github-pages-deploy-action@releases/v3
with:
GITHUB_TOKEN: ${{ secrets.GH_CLIPPY_TOKEN }}
BRANCH: gh-pages # The branch the action should deploy to.
FOLDER: site # The folder the action should deploy.
SINGLE_COMMIT: true
38 changes: 38 additions & 0 deletions .github/workflows/prepare_mkdocs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/bin/bash

# The website is built using MkDocs with the Material theme.
# https://squidfunk.github.io/mkdocs-material/
# It requires Python to run.
# Install the packages with the following command:
# pip install mkdocs mkdocs-material

set -ex

# Generate the API docs
./gradlew dokka

# Dokka filenames like `-http-url/index.md` don't work well with MkDocs <title> tags.
# Assign metadata to the file's first Markdown heading.
# https://www.mkdocs.org/user-guide/writing-your-docs/#meta-data
title_markdown_file() {
TITLE_PATTERN="s/^[#]+ *(.*)/title: \1 - Backfila/"
echo "---" > "$1.fixed"
cat $1 | sed -E "$TITLE_PATTERN" | grep "title: " | head -n 1 >> "$1.fixed"
echo "---" >> "$1.fixed"
echo >> "$1.fixed"
cat $1 >> "$1.fixed"
mv "$1.fixed" "$1"
}

set +x
for MARKDOWN_FILE in $(find docs/0.x/ -name '*.md'); do
echo $MARKDOWN_FILE
title_markdown_file $MARKDOWN_FILE
done
set -x

# Copy in special files that GitHub wants in the project root.
cat README.md | grep -v 'project website' > docs/index.md
cp CHANGELOG.md docs/changelog.md
cp CONTRIBUTING.md docs/contributing.md
cp RELEASING.md docs/releasing.md
13 changes: 13 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Contributing

If you would like to contribute code to this project you can do so through GitHub by
forking the repository and sending a pull request.

When submitting code, please make every effort to follow existing conventions
and style in order to keep the code as readable as possible.

Before your code can be accepted into the project you must also sign the
[Individual Contributor License Agreement (CLA)][1].


[1]: https://spreadsheets.google.com/spreadsheet/viewform?formkey=dDViT2xzUHAwRkI3X3k5Z0lQM091OGc6MQ&ndplr=1
3 changes: 2 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,6 @@ nav:
- 'client': 0.x/client/index.md
- 'client-service': 0.x/client-misk/index.md
- 'Change Log': changelog.md
- 'Contributing': contributing.md
- 'Releasing': releasing.md
- 'Stack Overflow ⏏': https://stackoverflow.com/questions/tagged/backfila?sort=active
- 'Stack Overflow ⏏': https://stackoverflow.com/questions/tagged/backfila?sort=active

0 comments on commit a7c8bf0

Please sign in to comment.