diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a8c1e1d1..2bf94045 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,6 +24,12 @@ on: type: boolean default: false + sdk_better_auth: + description: '@thunderid/better-auth' + required: false + type: boolean + default: false + sdk_browser: description: '@thunderid/browser' required: false @@ -192,6 +198,71 @@ jobs: --title "ThunderID JavaScript SDK v${{ steps.bump.outputs.version }}" \ --generate-notes + release-better-auth: + name: 🔑 Release @thunderid/better-auth + needs: [validate] + if: needs.validate.result == 'success' && github.event.inputs.sdk_better_auth == 'true' + runs-on: ubuntu-latest + steps: + - name: 📥 Checkout Code + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + with: + token: ${{ secrets.THUNDERID_AUTOMATION_BOT }} + + - name: 📦 Set up pnpm + uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0 + with: + version: latest + + - name: ⚙️ Set up Node.js + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 + with: + node-version: ${{ env.NODE_VERSION }} + registry-url: 'https://registry.npmjs.org' + cache: 'pnpm' + + - name: 📦 Install Dependencies + run: pnpm install --frozen-lockfile + + - name: 🏷️ Bump Version + id: bump + run: | + cd packages/better-auth + pnpm version ${{ github.event.inputs.bump_type }} --no-git-tag-version + echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT + + - name: 🔨 Build + run: pnpm turbo run build --filter=@thunderid/better-auth + + - name: 📤 Commit, Tag & Push + run: | + git config user.name "${{ env.RELEASE_GIT_USER_NAME }}" + git config user.email "${{ env.RELEASE_GIT_USER_EMAIL }}" + git add packages/better-auth/package.json + git diff --cached --quiet || git commit -m "[Release] @thunderid/better-auth@${{ steps.bump.outputs.version }}" + for i in $(seq 1 5); do + git pull --rebase origin ${{ github.ref_name }} + git push origin HEAD:${{ github.ref_name }} && break + [ "$i" -eq 5 ] && exit 1 + sleep $((i * 3)) + done + git tag "sdk/better-auth/v${{ steps.bump.outputs.version }}" + git push origin "sdk/better-auth/v${{ steps.bump.outputs.version }}" + + - name: 📦 Publish to npm + run: pnpm publish --no-git-checks --access public --provenance + working-directory: packages/better-auth + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: 🚀 Create GitHub Release + env: + GH_TOKEN: ${{ secrets.THUNDERID_AUTOMATION_BOT }} + run: | + gh release create "sdk/better-auth/v${{ steps.bump.outputs.version }}" \ + --title "ThunderID Better Auth SDK v${{ steps.bump.outputs.version }}" \ + --generate-notes + # ── Level 1: depends on javascript ───────────────────────────────────────── release-browser: name: 🌐 Release @thunderid/browser