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 condtions. on: push: branches: - master paths: - docs/** workflow_dispatch: jobs: update_website: env: HAS_SSH_KEY: ${{ secrets.WEBSITE_PRIV_KEY != '' }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - 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 - name: Update website env: SSH_AUTH_SOCK: /tmp/ssh_agent.sock run: | cd docs ninja -C _build upload if: env.HAS_SSH_KEY == 'true'