Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 64 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,83 @@ name: CI
on:
push:
branches:
- "*"
- master
pull_request:

# Allow running manually
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: true

defaults:
run:
shell: bash

jobs:
build:
spellcheck:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3

- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
submodules: true
node-version: '16'

- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
- name: Install
run: npm install

- name: Spellcheck
run: npm run spellcheck

build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
hugo-version: '0.87.0'
extended: true
submodules: recursive

- name: Setup node
uses: actions/setup-node@v1
- name: Set up Python
uses: actions/setup-python@v4
with:
node-version: '14.x'
python-version: '3.9'
cache: 'pip'

- run: pip install -r requirements.txt

- name: Setup Pages
uses: actions/configure-pages@v1

- uses: actions/cache@v1
- name: Build
run: |
mkdocs build

- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: $HOME/.npm
key: npm-${{ hashFiles('package-lock.json') }}
path: ./site

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest

- name: Install Dependencies
run: npm ci
needs:
- spellcheck
- build

- name: Build site
run: ./scripts/build.sh
if: github.ref_name == 'master'

- name: Run tests
run: npm run ci-test
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
Loading