cbron is updating partials #2
Workflow file for this run
This file contains hidden or 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: Update partials in documentation | |
run-name: ${{ github.actor }} is updating partials | |
permissions: | |
contents: write | |
pull-requests: write | |
on: | |
push: | |
tags: | |
- vcluster-v* | |
- platform-v* | |
workflow_dispatch: | |
inputs: | |
releaseTag: | |
description: 'Release tag in form vcluster-vX.Y (e.g. vcluster-v0.22) or platform-vX. (e.g. platform-v4)' | |
required: true | |
type: string | |
jobs: | |
sync: | |
runs-on: ubuntu-latest | |
outputs: | |
release_tag: ${{ steps.release.outputs.release_tag }} | |
steps: | |
- name: Determine release tag | |
id: release | |
env: | |
MANUAL_TAG: ${{ inputs.releaseTag }} | |
run: | | |
if [[ -n "${MANUAL_TAG}" ]]; then | |
echo "Manually set tag: ${MANUAL_TAG}" | |
final_tag=${MANUAL_TAG} | |
else | |
echo "Tag from release event: ${{ github.event.release.tag_name }}" | |
final_tag=${{ github.event.release.tag_name }} | |
fi | |
echo "release_tag=${final_tag}" >> "$GITHUB_OUTPUT" | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
with: | |
fetch-tags: 'true' | |
ref: 'refs/tags/${{ steps.release.outputs.release_tag }}' | |
ssh-key: ${{ secrets.DEPLOY_KEY }} | |
- name: Configure git | |
run: | | |
git config --global user.name "Loft Bot" | |
git config --global user.email '[email protected]' | |
git config --global url.https://[email protected]/.insteadOf https://github.com/ | |
env: | |
GH_ACCESS_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }} | |
- name: Clone vcluster-docs | |
run: git clone --single-branch https://github.com/loft-sh/vcluster-docs.git | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: vcluster-docs/go.mod | |
- name: Generate vCluster Platform partials | |
if: ${{ startsWith(steps.release.outputs.release_tag, 'platform-') }} | |
env: | |
GH_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }} | |
VERSION_TAG: ${{ steps.release.outputs.release_tag }} | |
run: | | |
versionTag=${VERSION_TAG#"platform-v"} | |
echo "parsed vCluster Platform tag: ${versionTag}" | |
mkdir -p "vcluster-docs/configsrc/platform/${versionTag}" | |
cp vcluster.schema.json "vcluster-docs/configsrc/platform/$versionTag/vcluster.schema.json" | |
cd vcluster-docs | |
branch_name="generate-partials-for-${VERSION_TAG}" | |
git switch -c ${branch_name} | |
# generate platform partials | |
go run hack/platform/partials/main.go "configsrc/platform/${versionTag}/vcluster.schema.json" | |
git add . | |
# if there are no changes, exit early | |
if git diff-index --quiet HEAD --; then | |
exit 0 | |
fi | |
# commit changes | |
git commit -m "chore: generate vCluster Platform partials for vCluster ${{ env.VERSION_TAG }}" | |
git push -u origin -f ${branch_name} | |
gh pr create --fill | |
echo "Create PR in vcluster-docs" | |
- name: Generate vCluster partials | |
if: ${{ startsWith(steps.release.outputs.release_tag, 'vcluster-') }} | |
env: | |
GH_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }} | |
VERSION_TAG: ${{ steps.release.outputs.release_tag }} | |
run: | | |
versionTag=${VERSION_TAG#"vcluster-v"} | |
echo "parsed vCluster tag: ${versionTag}" | |
mkdir -p "vcluster-docs/configsrc/vcluster/${versionTag}" | |
cp vcluster.schema.json "vcluster-docs/configsrc/vcluster/${versionTag}/vcluster.schema.json" | |
# copy default values.yaml | |
cp config/values.yaml "vcluster-docs/configsrc/vcluster/${versionTag}/default_values.yaml" | |
cd vcluster-docs | |
branch_name="generate-partials-for-${VERSION_TAG}" | |
git switch -c ${branch_name} | |
# generate vcluster partials for given version | |
go run hack/vcluster/partials/main.go "configsrc/vcluster/${versionTag}" "vcluster_versioned_docs/version-${versionTag}.0/_partials/config" | |
git add . | |
# if there are no changes, exit early | |
if git diff-index --quiet HEAD --; then | |
exit 0 | |
fi | |
# commit changes | |
git commit -m "chore: generate vCluster partials for vCluster ${versionTag}" | |
git push -u origin -f ${branch_name} | |
gh pr create --fill | |
echo "Create PR in vcluster-docs" |