2021-02-10 11:35:54 +08:00
|
|
|
name: Build Upload Site
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
2021-12-02 03:17:10 +08:00
|
|
|
pull_request:
|
2021-02-10 11:35:54 +08:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
publish:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
2021-02-21 10:52:37 +08:00
|
|
|
if: github.event_name == 'push'
|
|
|
|
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
if: github.event_name != 'push'
|
|
|
|
with:
|
|
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
2021-02-10 11:35:54 +08:00
|
|
|
|
2021-12-02 14:03:06 +08:00
|
|
|
- name: Set up Python
|
|
|
|
uses: actions/setup-python@v2
|
|
|
|
with:
|
|
|
|
python-version: 3.8
|
|
|
|
architecture: "x64"
|
|
|
|
|
|
|
|
- uses: Gr1N/setup-poetry@v4
|
|
|
|
|
|
|
|
- uses: actions/cache@v1
|
|
|
|
with:
|
|
|
|
path: ~/.cache/pypoetry/virtualenvs
|
|
|
|
key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }}
|
|
|
|
|
|
|
|
- name: Setup Node
|
|
|
|
uses: actions/setup-node@v1
|
|
|
|
with:
|
|
|
|
node-version: "16"
|
|
|
|
|
2021-02-10 11:35:54 +08:00
|
|
|
- name: Get yarn cache directory path
|
|
|
|
id: yarn-cache-dir-path
|
|
|
|
run: echo "::set-output name=dir::$(yarn cache dir)"
|
|
|
|
|
|
|
|
- name: Cache Packages
|
|
|
|
uses: actions/cache@v2
|
|
|
|
with:
|
|
|
|
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
2021-12-02 03:17:10 +08:00
|
|
|
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
2021-02-10 11:35:54 +08:00
|
|
|
|
|
|
|
- name: Install and build
|
|
|
|
run: |
|
2021-12-02 14:03:06 +08:00
|
|
|
poetry install -E all
|
|
|
|
poetry run sphinx-build -M markdown ./docs_build ./build
|
|
|
|
cp -r ./build/markdown/* ./website/docs/api/
|
2021-02-10 11:35:54 +08:00
|
|
|
yarn install
|
|
|
|
yarn build
|
|
|
|
|
2021-02-10 11:38:56 +08:00
|
|
|
- name: Get Branch Name
|
2021-02-10 11:52:34 +08:00
|
|
|
run: echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
|
2021-02-10 11:38:56 +08:00
|
|
|
|
2021-02-10 13:53:41 +08:00
|
|
|
- name: Get Deploy Name
|
|
|
|
if: github.event_name == 'push'
|
2021-02-23 10:08:32 +08:00
|
|
|
run: |
|
|
|
|
echo "DEPLOY_NAME=${{ env.BRANCH_NAME }}" >> $GITHUB_ENV
|
|
|
|
echo "PRODUCTION=${{ env.BRANCH_NAME == 'master' }}" >> $GITHUB_ENV
|
|
|
|
|
2021-02-10 13:53:41 +08:00
|
|
|
- name: Get Deploy Name
|
|
|
|
if: github.event_name != 'push'
|
2021-02-23 10:08:32 +08:00
|
|
|
run: |
|
|
|
|
echo "DEPLOY_NAME=deploy-preview-${{ github.event.number }}" >> $GITHUB_ENV
|
|
|
|
echo "PRODUCTION=false" >> $GITHUB_ENV
|
2021-02-10 13:53:41 +08:00
|
|
|
|
2021-02-10 12:58:24 +08:00
|
|
|
- name: Deploy to Netlify
|
|
|
|
uses: nwtgck/actions-netlify@v1.1
|
2021-02-10 11:35:54 +08:00
|
|
|
with:
|
2021-12-02 03:17:10 +08:00
|
|
|
publish-dir: './website/build'
|
2021-02-23 10:08:32 +08:00
|
|
|
production-deploy: ${{ env.PRODUCTION }}
|
2021-02-10 12:58:24 +08:00
|
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
2021-02-21 10:52:37 +08:00
|
|
|
deploy-message: 'Deploy ${{ env.DEPLOY_NAME }}@${{ github.sha }}'
|
2021-02-12 13:38:48 +08:00
|
|
|
enable-commit-comment: false
|
2021-02-10 13:53:41 +08:00
|
|
|
alias: ${{ env.DEPLOY_NAME }}
|
2021-02-10 13:00:25 +08:00
|
|
|
env:
|
|
|
|
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
|
|
|
|
NETLIFY_SITE_ID: ${{ secrets.SITE_ID }}
|