From 3470c3ea1a07e2bf3dbf6dcfe8a7cef79284e8e0 Mon Sep 17 00:00:00 2001 From: Nilesh-y Date: Thu, 13 Mar 2025 17:09:52 +0530 Subject: [PATCH 1/2] feat: add a github workflow to publish --- .github/workflows/github-release.yml | 136 +++++++++++++++++++++++++++ .npmrc | 2 + 2 files changed, 138 insertions(+) create mode 100644 .github/workflows/github-release.yml create mode 100644 .npmrc diff --git a/.github/workflows/github-release.yml b/.github/workflows/github-release.yml new file mode 100644 index 00000000..1a32e826 --- /dev/null +++ b/.github/workflows/github-release.yml @@ -0,0 +1,136 @@ +name: Publish package to Github + +on: + workflow_dispatch: + +jobs: + update-release-branch: + runs-on: ubuntu-latest + + steps: + - name: Checkout the repository + uses: actions/checkout@v3 + with: + ref: main + fetch-depth: 0 + persist-credentials: false + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + cache: "npm" + node-version: "21.7.3" + + - name: Update release branch + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" + + # Check out or create the 'release' branch + git checkout -B release + + # Merge changes from 'main' into 'release' + git merge main --no-edit + + git remote set-url origin https://x-access-token:${{ secrets.INST_TOKEN }}@github.com/contentstack/live-preview-sdk.git + + # Push the updated release branch + git push origin release + + run-semantic-release: + needs: update-release-branch + runs-on: ubuntu-latest + + steps: + - name: Checkout the release branch + uses: actions/checkout@v3 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + cache: "npm" + node-version: "21.7.3" + + - name: Force branch to release + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" + + git remote set-url origin https://x-access-token:${{ secrets.INST_TOKEN }}@github.com/contentstack/live-preview-sdk.git + + git pull + + echo "Current branch:" + git branch --show-current + + git checkout release + + echo "Current branch:" + git branch --show-current + + - name: Show current branches + run: git branch -a + + - name: Show current remotes + run: git remote -v + + - name: Reconfigure git to use HTTP authentication + run: git config --global url."https://${{ secrets.INST_TOKEN }}@github.com/".insteadOf ssh://git@github.com/ + + - name: Install dependencies + run: npm ci + env: + GITHUB_TOKEN: ${{ secrets.INST_TOKEN }} + NPM_TOKEN: ${{ secrets.INST_TOKEN }} + + - name: Run build + run: npm run build + env: + GITHUB_TOKEN: ${{ secrets.INST_TOKEN }} + NPM_TOKEN: ${{ secrets.INST_TOKEN }} + + - name: Create version + env: + GITHUB_TOKEN: ${{ secrets.INST_TOKEN }} + NPM_TOKEN: ${{ secrets.INST_TOKEN }} + run: npm version patch + + - name: Run semantic-release + env: + GITHUB_TOKEN: ${{ secrets.INST_TOKEN }} + NPM_TOKEN: ${{ secrets.INST_TOKEN }} + run: npm publish + + - name: Commit and push changes + run: | + git add -A + git commit -m "chore(release): update release branch [skip ci]" || echo "No changes to commit" + git push origin release || echo "No changes to push" + + create-pr: + needs: run-semantic-release + runs-on: ubuntu-latest + + steps: + - name: Checkout the release branch + uses: actions/checkout@v3 + with: + ref: main + fetch-depth: 0 + persist-credentials: false + + - name: Set email and name for git + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git remote set-url origin https://x-access-token:${{ secrets.INST_TOKEN }}@github.com/contentstack/composable-studio-sdk.git + + git pull + + - name: Create pull request + run: gh pr create -B main -H release --title 'Merge release into main [skip ci]' --body 'This PR syncs the changes from the release branch back into the main branch.' + env: + GITHUB_TOKEN: ${{ secrets.INST_TOKEN }} diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..fb795cb1 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN} +@contentstack:registry=https://npm.pkg.github.com \ No newline at end of file From 95339a612556f56fc450909efbce8b42105fc909 Mon Sep 17 00:00:00 2001 From: Nilesh-y Date: Thu, 13 Mar 2025 17:11:53 +0530 Subject: [PATCH 2/2] fix: creat PR step --- .github/workflows/github-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/github-release.yml b/.github/workflows/github-release.yml index 1a32e826..e2a4483e 100644 --- a/.github/workflows/github-release.yml +++ b/.github/workflows/github-release.yml @@ -126,7 +126,7 @@ jobs: run: | git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" - git remote set-url origin https://x-access-token:${{ secrets.INST_TOKEN }}@github.com/contentstack/composable-studio-sdk.git + git remote set-url origin https://x-access-token:${{ secrets.INST_TOKEN }}@github.com/contentstack/live-preview-sdk.git git pull