123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- name: Update website
- concurrency:
- group: mesonbuild.com
- # We do NOT want `cancel-in-progress` here since only one website job
- # should run at a time to avoid upload race conditions.
- on:
- push:
- branches:
- - master
- paths:
- - docs/**
- pull_request:
- paths:
- - docs/**
- workflow_dispatch:
- release:
- types:
- - published
- permissions:
- contents: write # for release creation (svenstaro/upload-release-action)
- # This job is copy/paster into wrapdb CI, please update it there when doing any
- # change here.
- jobs:
- update_website:
- env:
- HAS_SSH_KEY: ${{ secrets.WEBSITE_PRIV_KEY != '' }}
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - name: Install package
- run: |
- sudo apt-get -y install python3-pip ninja-build libjson-glib-dev
- pip install hotdoc chevron strictyaml
- - name: Setup SSH Keys and known_hosts
- env:
- SSH_AUTH_SOCK: /tmp/ssh_agent.sock
- run: |
- ssh-agent -a $SSH_AUTH_SOCK > /dev/null
- ssh-add - <<< "${{ secrets.WEBSITE_PRIV_KEY }}"
- if: env.HAS_SSH_KEY == 'true'
- - name: Build website
- run: |
- git config --global user.name "github-actions"
- git config --global user.email "github-actions@github.com"
- cd docs
- ../meson.py setup _build
- ninja -C _build
- ninja -C _build test
- - name: Update website
- env:
- SSH_AUTH_SOCK: /tmp/ssh_agent.sock
- run: |
- cd docs
- ninja -C _build upload
- if: env.HAS_SSH_KEY == 'true'
- - name: Release the current JSON docs
- uses: svenstaro/upload-release-action@v2
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: docs/_build/reference_manual.json
- tag: ${{ github.ref }}
- if: ${{ github.event_name == 'release' }}
- - name: Release the current man docs
- uses: svenstaro/upload-release-action@v2
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: docs/_build/meson-reference.3
- tag: ${{ github.ref }}
- if: ${{ github.event_name == 'release' }}
|