[release-v2.5] [DOC] Add syntax primer to docs (#3876) #169
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_docs | |
on: | |
push: | |
# Sync on commit to release branches, or stable vx.y.z tag is pushed. | |
branches: | |
- release-* | |
tags: | |
- 'v[0-9]+.[0-9]+.[0-9]+' | |
paths: | |
- 'docs/sources/tempo/**' | |
workflow_dispatch: | |
jobs: | |
test: | |
# only run in grafana/tempo. | |
if: github.repository == 'grafana/tempo' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Build Website | |
run: docker run -v ${PWD}/docs/sources/tempo:/hugo/content/docs/tempo/latest --rm grafana/docs-base:latest make prod | |
sync: | |
# only run in grafana/tempo. | |
if: github.repository == 'grafana/tempo' | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- name: Checkout this repo | |
uses: actions/checkout@v4 | |
with: | |
# Fetch tags | |
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 | |
# ---------------------------------------- | |
# Ensure this is a final release tag, or | |
# branch with .0 tag already. | |
# Remaining steps are skipped if not. | |
# ---------------------------------------- | |
- name: Check for matching release tag | |
id: has-tag | |
uses: ./actions/has-matching-release-tag | |
with: | |
ref_name: ${{ github.ref_name }} | |
release_tag_regexp: "^v(\\d+)\\.(\\d+)\\.(\\d+)$" | |
release_branch_regexp: "^release-v(\\d+)\\.(\\d+)$" | |
# ---------------------------------------- | |
# Extract semver from branch or tag name | |
# Returns in the format v1.2 | |
# ---------------------------------------- | |
- if: steps.has-tag.outputs.bool == 'true' | |
name: Extract semver | |
uses: ./actions/docs-target | |
id: target | |
with: | |
ref_name: ${{ github.ref_name }} | |
# ---------------------------------------- | |
# Clone and run the website sync action | |
# ---------------------------------------- | |
- if: steps.has-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" | |
- if: steps.has-tag.outputs.bool == 'true' | |
name: publish-to-git | |
uses: ./.github/actions/website-sync | |
id: publish | |
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/tempo | |
# target is v1.2.x | |
target_folder: content/docs/tempo/${{ steps.target.outputs.target }}.x | |
allow_no_changes: true | |
- shell: bash | |
run: | | |
test -n "${{ steps.publish.outputs.commit_hash }}" | |
test -n "${{ steps.publish.outputs.working_directory }}" |