From f8cfe74640afdcddba76f57a0ba60c717221aaa5 Mon Sep 17 00:00:00 2001 From: kamal-skyflow <134511991+kamal-skyflow@users.noreply.github.com> Date: Mon, 11 Dec 2023 11:26:08 +0530 Subject: [PATCH] Create update-refs-in-docs.yml --- .github/workflows/update-refs-in-docs.yml | 86 +++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .github/workflows/update-refs-in-docs.yml diff --git a/.github/workflows/update-refs-in-docs.yml b/.github/workflows/update-refs-in-docs.yml new file mode 100644 index 0000000..7be2abf --- /dev/null +++ b/.github/workflows/update-refs-in-docs.yml @@ -0,0 +1,86 @@ +name: Update references in Docsite + +on: + push: + branches: + - DEX-413 + +jobs: + generate-node-sdk-refs: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + ref: DEX-413 + fetch-depth: 0 + persist-credentials: false + + - name: install modules + run: | + npm install + + - name: Generate Node SDK references + run: | + npm run docs-gen + cd ../.. + mkdir refs + cp -r skyflow-node/skyflow-node/docs/* refs/ + echo "github sha: $GITHUB_SHA" + cd skyflow-node/skyflow-node/ + rm -r docs/ + git checkout -- package-lock.json + echo "SHORT_SHA=$(git rev-parse --short "$GITHUB_SHA")" >> $GITHUB_ENV + + - name: Create a branch in skyflow-docs + env: + TOKEN: ${{ secrets.PAT_ACTIONS }} + REPO_OWNER: skyflowapi + REPO_NAME: skyflow-docs + ACTOR: ${{ github.actor }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + # Create a new branch in skyflow-docs + cd $GITHUB_WORKSPACE + git remote add skyflow-docs https://${TOKEN}@github.com/${REPO_OWNER}/${REPO_NAME}.git + git fetch skyflow-docs main + BRANCH_NAME="SDK/node/${{ env.SHORT_SHA }}" + git remote set-url --push skyflow-docs https://${ACTOR}:${TOKEN}@github.com/${REPO_OWNER}/${REPO_NAME}.git + git checkout -b $BRANCH_NAME skyflow-docs/main + cp -r ../../refs/* src/pages/content/docs/sdks/skyflow-node/ + + - name: Push files and raise a PR + env: + TOKEN: ${{ secrets.PAT_ACTIONS }} + REPO_OWNER: skyflowapi + REPO_NAME: skyflow-docs + ACTOR: ${{ github.actor }} + run: | + git config user.name ${{ github.actor }} + git config user.email ${{ github.actor }}@users.noreply.github.com + BRANCH_NAME="SDK/node/${{ env.SHORT_SHA }}" + git add . + + # Check if there are changes to commit + if [[ -n "$(git status --porcelain)" ]]; then + git commit -m "SDK-${{ env.SHORT_SHA }} Updated Node SDK references" + git push skyflow-docs $BRANCH_NAME + # Raise a pull request + BASE_BRANCH="main" + BRANCH_NAME="SDK/node/${{ env.SHORT_SHA }}" + TITLE="SDK-${{ env.SHORT_SHA }}: Updated Node SDK references" + BODY="This pull request adds the latest Node SDK references. Commit id for reference: $GITHUB_SHA" + API_URL="https://api.github.com/repos/${REPO_OWNER}/${REPO_NAME}/pulls" + echo "API URL: $API_URL" + RESPONSE=$(curl -X POST \ + -H "Accept: application/vnd.github.v3+json" \ + -H "Authorization: token $TOKEN" \ + -d "{\"title\":\"$TITLE\",\"body\":\"$BODY\",\"head\":\"${BRANCH_NAME}\",\"base\":\"$BASE_BRANCH\"}" \ + "$API_URL") + echo "Response Body: $RESPONSE" + PR_URL=$(echo "$RESPONSE" | jq -r '.html_url') + echo "Pull Request URL: $PR_URL" + else + echo "No changes to commit. Skipping push files and raise a PR." + exit 0 + fi