From a82cc640c6208c7c625b5759937b1de1e2b1c903 Mon Sep 17 00:00:00 2001 From: srinandan Date: Fri, 6 Dec 2024 20:14:44 +0000 Subject: [PATCH] chore: automate docs publish #312 --- .github/workflows/gen-docs.yml | 38 +++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/.github/workflows/gen-docs.yml b/.github/workflows/gen-docs.yml index 9db9f46..92ffbcf 100644 --- a/.github/workflows/gen-docs.yml +++ b/.github/workflows/gen-docs.yml @@ -14,43 +14,53 @@ # Generate documentation for integrationcli name: integrationcli Github Pages Pipeline - +permissions: read-all on: - #push: - # Publish semver tags as releases. - # tags: - # - v[0-9].[0-9]+.[0-9] + push: + # Publish semver tags as releases. + tags: + - v[0-9].[0-9]+.[0-9] workflow_dispatch: jobs: publish-gh-pages: name: Publish integrationcli Documentation runs-on: ubuntu-latest + permissions: + contents: write # needed to create PR + packages: write + id-token: write + attestations: write + pull-requests: write + repository-projects: write + steps: - name: Checkout Code uses: actions/checkout@1e31de5234b9f8995739874a8ce0492dc87873e2 #v4 - - uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 #v5 - with: - go-version-file: './go.mod' - check-latest: true - name: Push GH Pages + env: + GH_TOKEN: ${{ secrets.TOKEN }} run: | SHORT_SHA=$(git rev-parse --short $GITHUB_SHA) git config pull.rebase false git config --global user.name "$(git log -n 1 --pretty=format:%an)" git config --global user.email "$(git log -n 1 --pretty=format:%ae)" - git pull origin main --allow-unrelated-histories - git checkout -b docs_$SHORT_SHA + git fetch origin main + git fetch origin gh_pages + git checkout gh_pages + git merge origin/main --allow-unrelated-histories GOBIN=/tmp/ go install github.com/google/go-licenses@v1.0.0 /tmp/go-licenses csv ./cmd/integrationcli > third-party-licenses.txt || echo "Ignore warnings" /tmp/go-licenses save ./cmd/integrationcli --save_path=third-party --force || echo "Ignore warnings" git add third-party third-party-licenses.txt - git commit -m "generate licenses - $GITHUB_SHA" || echo "No Changes in license" + git commit -m "generate licenses - $SHORT_SHA" || echo "No Changes in license" go run docs/docs.go + git add --all - git commit -m "Update GH Pages - $GITHUB_SHA" || echo "No Changes in docs" - git push origin docs_$SHORT_SHA + git commit -m "Update GH Pages - $SHORT_SHA" || echo "No Changes in docs" + git push origin gh_pages + gh pr create --title "Update Documentation" --body "update docs to ${GITHUB_SHA}" --base main --head gh_pages