name: publish-docs on: push: branches: - 'master' paths: - 'docs/**' workflow_dispatch: {} env: PAGEFIND_VERSION: "1.0.4" HUGO_VERSION: "latest" permissions: contents: read # This is required for actions/checkout and to commit back image update deployments: write jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Code checkout uses: actions/checkout@v4 with: path: main - name: Checkout private code uses: actions/checkout@v4 with: repository: VictoriaMetrics/vmdocs token: ${{ secrets.VM_BOT_GH_TOKEN }} path: docs - uses: peaceiris/actions-hugo@v2 with: hugo-version: ${{env.HUGO_VERSION}} extended: true - name: Install PageFind #install the static search engine for index build uses: supplypike/setup-bin@v3 with: uri: "https://github.com/CloudCannon/pagefind/releases/download/v${{env.PAGEFIND_VERSION}}/pagefind-v${{env.PAGEFIND_VERSION}}-x86_64-unknown-linux-musl.tar.gz" name: "pagefind" version: ${{env.PAGEFIND_VERSION}} - name: Import GPG key uses: crazy-max/ghaction-import-gpg@v5 with: gpg_private_key: ${{ secrets.VM_BOT_GPG_PRIVATE_KEY }} passphrase: ${{ secrets.VM_BOT_PASSPHRASE }} git_user_signingkey: true git_commit_gpgsign: true workdir: docs - name: Set short git commit SHA id: vars run: | calculatedSha=$(git rev-parse --short ${{ github.sha }}) echo "short_sha=$calculatedSha" >> $GITHUB_OUTPUT working-directory: main - name: update code and commit run: | rm -rf content cp -r ../main/docs content make clean-after-copy make build-search-index git config --global user.name "${{ steps.import-gpg.outputs.email }}" git config --global user.email "${{ steps.import-gpg.outputs.email }}" git add . git commit -S -m "sync docs with VictoriaMetrics/VictoriaMetrics commit: ${{ steps.vars.outputs.short_sha }}" git push working-directory: docs