Update workflows to use actions that don't need organization secrets (#92603)

This commit is contained in:
Jack Baldry 2024-09-19 13:53:45 +01:00 committed by GitHub
parent 7ef13497a8
commit d5f205fdef
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 81 deletions

View File

@ -1,38 +1,21 @@
name: "publish-technical-documentation-next" name: publish-technical-documentation-next
on: on:
push: push:
branches: branches:
- "main" - main
paths: paths:
- "docs/sources/**" - "docs/sources/**"
workflow_dispatch: workflow_dispatch:
jobs: jobs:
sync: sync:
if: github.repository == 'grafana/grafana' if: github.repository == 'grafana/grafana'
runs-on: "ubuntu-latest" permissions:
contents: read
id-token: write
runs-on: ubuntu-latest
steps: steps:
- name: "Checkout Grafana repo" - uses: actions/checkout@v4
uses: "actions/checkout@v4" - uses: grafana/writers-toolkit/publish-technical-documentation@publish-technical-documentation/v1
- name: "Clone website-sync Action"
# 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 (next)"
uses: "./.github/actions/website-sync"
id: "publish-next"
with: with:
repository: "grafana/website" website_directory: content/docs/grafana/next
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/grafana/next"

View File

@ -1,4 +1,4 @@
name: "publish-technical-documentation-release" name: publish-technical-documentation-release
on: on:
push: push:
@ -12,63 +12,18 @@ on:
jobs: jobs:
sync: sync:
if: github.repository == 'grafana/grafana' if: github.repository == 'grafana/grafana'
runs-on: "ubuntu-latest" permissions:
contents: read
id-token: write
runs-on: ubuntu-latest
steps: steps:
- name: "Checkout Grafana repo" - uses: actions/checkout@v4
uses: "actions/checkout@v4"
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: grafana/writers-toolkit/publish-technical-documentation-release@publish-technical-documentation-release/v1
- name: "Checkout Actions library"
uses: "actions/checkout@v4"
with: 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_tag_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
release_branch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.x$" release_branch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.x$"
release_branch_with_patch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
- name: "Determine technical documentation version" website_directory: content/docs/grafana
if: "steps.has-matching-release-tag.outputs.bool == 'true'" version_suffix: ""
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: "Switch to HEAD of version branch for tags"
# Tags aren't necessarily made to the HEAD of the version branch.
# The documentation to be published is always on the HEAD of the version branch.
if: "steps.has-matching-release-tag.outputs.bool == 'true' && github.ref_type == 'tag'"
run: "git switch --detach origin/${{ steps.target.outputs.target }}.x"
- 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/grafana/${{ steps.target.outputs.target }}"