name: Runbooks on: pull_request: paths: - docs/runbooks/** - docs/layouts/** - docs/static/** - docs/hugo.toml - docs/check_links.py - contrib/mixin/** - .github/workflows/runbooks.yml push: branches: - master - main - next paths: - docs/runbooks/** - docs/layouts/** - docs/static/** - docs/hugo.toml - docs/check_links.py - contrib/mixin/** - .github/workflows/runbooks.yml workflow_dispatch: permissions: {} concurrency: group: runbooks-${{ github.ref }} cancel-in-progress: ${{ github.event_name == 'pull_request' }} env: # renovate: github=gohugoio/hugo HUGO_VERSION: '0.167.0' jobs: build: name: Build runbooks runs-on: ubuntu-26.04 timeout-minutes: 10 permissions: contents: read pages: read steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: 'false' - name: Install Hugo run: | curl --fail --location --silent --show-error \ "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_linux-amd64.tar.gz" \ -o "$RUNNER_TEMP/hugo.tar.gz" tar -xzf "$RUNNER_TEMP/hugo.tar.gz" -C "$RUNNER_TEMP" hugo echo "$RUNNER_TEMP" >> "$GITHUB_PATH" - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: go-version-file: go.mod - name: Install and cache pinned mixin tools uses: jdx/mise-action@2d8d4cafcbd33be2ea37d2b6f5ad595363d1f1ca # v5.1.1 with: working_directory: contrib/mixin - name: Check alert runbook coverage run: mise -C contrib/mixin run check-runbooks - name: Set up Pages id: pages if: github.event_name != 'pull_request' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch) uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0 - name: Build site env: PAGES_BASE_URL: ${{ steps.pages.outputs.base_url || 'https://prometheus-community.github.io/windows_exporter' }} run: | hugo --source docs --minify --baseURL "${PAGES_BASE_URL%/}/" --panicOnWarning python3 docs/check_links.py docs/public "${PAGES_BASE_URL%/}/" - name: Upload Pages artifact if: github.event_name != 'pull_request' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch) uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0 with: path: docs/public deploy: name: Publish runbooks if: github.event_name != 'pull_request' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch) needs: build runs-on: ubuntu-26.04 timeout-minutes: 10 permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5.0.1