Skip to content

[Cherry-pick]: add quotes windows path for CVE (#7029) #620

[Cherry-pick]: add quotes windows path for CVE (#7029)

[Cherry-pick]: add quotes windows path for CVE (#7029) #620

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 }}"