WIP - Documentation website #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Build the ESPHome firmwares for the Onju Voice Satellite project. | |
name: Build & Deploy firmware | |
on: | |
push: | |
branches: | |
- main | |
# release: | |
# types: | |
# - published | |
workflow_dispatch: | |
pull_request: | |
# branches-ignore: | |
# - renovate/docusaurus** | |
# Every Monday at 4:00 UTC | |
# schedule: | |
# - cron: "0 4 * * 1" | |
concurrency: | |
# yamllint disable-line rule:line-length | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build-docs: | |
name: Build documentation website | |
# if: (github.event_name == 'workflow_dispatch' || github.event_name == 'push') && github.ref == 'refs/heads/main' | |
runs-on: ubuntu-latest | |
steps: | |
- name: ⤵️ Check out code from GitHub | |
uses: actions/checkout@v4.1.1 | |
# - name: ⬇️ Download all artifacts | |
# uses: actions/download-artifact@v4.1.1 | |
# with: | |
# path: repository | |
# - name: 🗂️ Move firmware folders to static | |
# run: | | |
# for firmware in $FIRMWARES; do | |
# mv repository/$firmware docs/static | |
# done | |
# rm -R repository | |
- name: 🧪 Display structure of job | |
run: ls -R | |
- name: 🏗️ Set up Node.js | |
uses: actions/setup-node@v4.0.1 | |
with: | |
node-version: 20.x | |
- name: 🏗️ Install Docusaurus dependencies | |
run: npm install --frozen-lockfile --non-interactive | |
working-directory: docs | |
- name: 🚀 Build Docusaurus | |
run: npm run build | |
working-directory: docs | |
- name: ⬆️ Upload pages artifacts | |
uses: actions/upload-pages-artifact@v3 | |
with: | |
path: docs/build | |
deploy: | |
name: Deploy to GitHub Pages | |
# if: (github.event_name == 'workflow_dispatch' || github.event_name == 'push') && github.ref == 'refs/heads/main' | |
runs-on: ubuntu-latest | |
needs: build-docs | |
permissions: | |
pages: write | |
id-token: write | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
steps: | |
- name: 🏗️ Setup Github Pages | |
uses: actions/configure-pages@v4 | |
- name: 🚀 Deploy to Github Pages | |
uses: actions/deploy-pages@v4.0.3 | |
id: deployment |