feat(licensing): support independent business authorization

Support independent Pro and Business licensing, migrate Cloud store integration through the SDK, gate Business-only credit billing features, and validate the Cloud store E2E flow.
This commit is contained in:
Jasper Van
2026-06-08 01:42:23 -04:00
committed by GitHub
parent ecb38df84d
commit 9d70acfdea
78 changed files with 1104 additions and 5434 deletions
+12 -12
View File
@@ -82,8 +82,8 @@ jobs:
needs: check
env:
BETTER_AUTH_SECRET: ci-test-secret-that-is-at-least-32-chars
E2E_CLOUD_PRO_EMAIL_NODE: ${{ secrets.E2E_CLOUD_PRO_EMAIL_NODE }}
E2E_CLOUD_PRO_PASSWORD_NODE: ${{ secrets.E2E_CLOUD_PRO_PASSWORD_NODE }}
E2E_CLOUD_BUSINESS_EMAIL_NODE: ${{ secrets.E2E_CLOUD_BUSINESS_EMAIL_NODE }}
E2E_CLOUD_BUSINESS_PASSWORD_NODE: ${{ secrets.E2E_CLOUD_BUSINESS_PASSWORD_NODE }}
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
@@ -93,16 +93,16 @@ jobs:
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Install cloudflared
if: env.E2E_CLOUD_PRO_EMAIL_NODE != '' && env.E2E_CLOUD_PRO_PASSWORD_NODE != ''
if: env.E2E_CLOUD_BUSINESS_EMAIL_NODE != '' && env.E2E_CLOUD_BUSINESS_PASSWORD_NODE != ''
run: |
curl -L --fail --output cloudflared https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
chmod +x cloudflared
- name: Run cloud E2E
if: env.E2E_CLOUD_PRO_EMAIL_NODE != '' && env.E2E_CLOUD_PRO_PASSWORD_NODE != ''
if: env.E2E_CLOUD_BUSINESS_EMAIL_NODE != '' && env.E2E_CLOUD_BUSINESS_PASSWORD_NODE != ''
run: CLOUDFLARED_BIN=./cloudflared pnpm e2e:cloud -- --runtime node
- name: Skip cloud E2E
if: env.E2E_CLOUD_PRO_EMAIL_NODE == '' || env.E2E_CLOUD_PRO_PASSWORD_NODE == ''
run: echo "Skipping Node cloud E2E because credentials are not configured."
if: env.E2E_CLOUD_BUSINESS_EMAIL_NODE == '' || env.E2E_CLOUD_BUSINESS_PASSWORD_NODE == ''
run: echo "Skipping Node cloud E2E because Business credentials are not configured."
- uses: actions/upload-artifact@v4
if: failure()
with:
@@ -115,8 +115,8 @@ jobs:
runs-on: ubuntu-latest
needs: check
env:
E2E_CLOUD_PRO_EMAIL_CF: ${{ secrets.E2E_CLOUD_PRO_EMAIL_CF }}
E2E_CLOUD_PRO_PASSWORD_CF: ${{ secrets.E2E_CLOUD_PRO_PASSWORD_CF }}
E2E_CLOUD_BUSINESS_EMAIL_CF: ${{ secrets.E2E_CLOUD_BUSINESS_EMAIL_CF }}
E2E_CLOUD_BUSINESS_PASSWORD_CF: ${{ secrets.E2E_CLOUD_BUSINESS_PASSWORD_CF }}
steps:
- uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
@@ -126,16 +126,16 @@ jobs:
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Install cloudflared
if: env.E2E_CLOUD_PRO_EMAIL_CF != '' && env.E2E_CLOUD_PRO_PASSWORD_CF != ''
if: env.E2E_CLOUD_BUSINESS_EMAIL_CF != '' && env.E2E_CLOUD_BUSINESS_PASSWORD_CF != ''
run: |
curl -L --fail --output cloudflared https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
chmod +x cloudflared
- name: Run cloud E2E
if: env.E2E_CLOUD_PRO_EMAIL_CF != '' && env.E2E_CLOUD_PRO_PASSWORD_CF != ''
if: env.E2E_CLOUD_BUSINESS_EMAIL_CF != '' && env.E2E_CLOUD_BUSINESS_PASSWORD_CF != ''
run: CLOUDFLARED_BIN=./cloudflared pnpm e2e:cloud:cf
- name: Skip cloud E2E
if: env.E2E_CLOUD_PRO_EMAIL_CF == '' || env.E2E_CLOUD_PRO_PASSWORD_CF == ''
run: echo "Skipping CF cloud E2E because credentials are not configured."
if: env.E2E_CLOUD_BUSINESS_EMAIL_CF == '' || env.E2E_CLOUD_BUSINESS_PASSWORD_CF == ''
run: echo "Skipping CF cloud E2E because Business credentials are not configured."
- uses: actions/upload-artifact@v4
if: failure()
with: