publish-technical-documentation-version #610
Workflow file for this run
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
name: "publish-technical-documentation-version" | |
on: | |
push: | |
branches: | |
- 'release-*' | |
tags: | |
- 'v[0-9]+.[0-9]+.[0-9]+' | |
paths: | |
- 'docs/sources/**' | |
workflow_dispatch: | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Check out code" | |
uses: actions/checkout@v4 | |
- name: "Build technical documentation" | |
run: > | |
docker run | |
--volume "${PWD}/docs/sources:/hugo/content/docs/agent/latest" | |
--env HUGO_REFLINKSERRORLEVEL=ERROR | |
--rm grafana/docs-base:latest | |
/bin/bash -c 'echo -e "---\\nredirectURL: /docs/agent/latest/\\ntype: redirect\\nversioned: true\\n---\\n" > /hugo/content/docs/agent/_index.md && make hugo' | |
sync: | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- name: "Checkout Agent repo" | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: "Checkout Actions library" | |
uses: actions/checkout@v4 | |
with: | |
repository: "grafana/grafana-github-actions" | |
path: ./actions | |
- name: "Install Actions from library" | |
run: npm install --production --prefix ./actions | |
- name: "Determine if there is a matching release tag" | |
id: "has-matching-release-tag" | |
uses: "./actions/has-matching-release-tag" | |
with: | |
ref_name: "${{ github.ref_name }}" | |
release_tag_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$" | |
release_branch_regexp: "^release-v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$" | |
- name: "Extract semver" | |
if: "steps.has-matching-release-tag.outputs.bool == 'true'" | |
uses: ./actions/docs-target | |
id: target | |
with: | |
ref_name: ${{ github.ref_name }} | |
- name: "Clone website-sync Action" | |
if: "steps.has-matching-release-tag.outputs.bool == 'true'" | |
# WEBSITE_SYNC_TOKEN is a fine-grained GitHub Personal Access Token that expires. | |
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization | |
# GitHub administrator to update the organization secret. | |
# The IT helpdesk can update the organization secret. | |
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync" | |
- name: "Publish to website repository (release)" | |
if: "steps.has-matching-release-tag.outputs.bool == 'true'" | |
uses: ./.github/actions/website-sync | |
id: "publish_release" | |
with: | |
repository: grafana/website | |
branch: master | |
host: github.com | |
# PUBLISH_TO_WEBSITE_TOKEN is a fine-grained GitHub Personal Access Token that expires. | |
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization | |
# GitHub administrator to update the organization secret. | |
# The IT helpdesk can update the organization secret. | |
github_pat: "grafanabot:${{ secrets.PUBLISH_TO_WEBSITE_TOKEN }}" | |
source_folder: docs/sources | |
target_folder: 'content/docs/agent/${{ steps.target.outputs.target }}' | |
allow_no_changes: true | |
- shell: bash | |
if: "steps.has-matching-release-tag.outputs.bool == 'true'" | |
run: | | |
test -n "${{ steps.publish_release.outputs.commit_hash }}" | |
test -n "${{ steps.publish_release.outputs.working_directory }}" |