chore(release): 12.96.0 #1584
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build source code and deploy | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| tags: | |
| - '*' | |
| jobs: | |
| # Tests already passed before tag was created, so just build and deploy | |
| supabase_deploy: | |
| runs-on: ubuntu-latest | |
| name: Build code and deploy to Supabase | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Set environment variable | |
| run: | | |
| if [[ ${{ github.ref }} == *-alpha* ]]; then | |
| echo "SUPA_ENV=ALPHA" >> $GITHUB_ENV | |
| else | |
| echo "SUPA_ENV=PROD" >> $GITHUB_ENV | |
| fi | |
| - name: Set Supabase credentials | |
| run: | | |
| echo "SUPABASE_DB_PASSWORD=${{ secrets[format('SUPABASE_DB_PASS_{0}', env.SUPA_ENV)] }}" >> $GITHUB_ENV | |
| echo "SUPABASE_PROJECT_ID=${{ secrets[format('SUPABASE_PROJECT_ID_{0}', env.SUPA_ENV)] }}" >> $GITHUB_ENV | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Install Supabase CLI | |
| uses: supabase/setup-cli@v1 | |
| with: | |
| version: latest | |
| - name: Show Supabase CLI version | |
| run: supabase --version | |
| - name: Prepare Supabase | |
| run: supabase link --project-ref ${{ env.SUPABASE_PROJECT_ID }} | |
| env: | |
| SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_TOKEN }} | |
| - name: Apply Supabase Migrations | |
| run: supabase db push | |
| - name: Update functions | |
| env: | |
| SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_TOKEN }} | |
| run: supabase functions deploy | |
| deploy_webapp: | |
| needs: supabase_deploy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| filter: blob:none | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| - name: Setup bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Set environment variable | |
| run: | | |
| if [[ ${{ github.ref }} == *-alpha* ]]; then | |
| echo "ENV=dev" >> $GITHUB_ENV | |
| echo "CHANNEL=dev" >> $GITHUB_ENV | |
| else | |
| echo "ENV=prod" >> $GITHUB_ENV | |
| echo "CHANNEL=production" >> $GITHUB_ENV | |
| fi | |
| - name: Build | |
| run: bun ${{ env.ENV == 'prod' && 'build:mobile' || 'build:dev:mobile' }} | |
| env: | |
| VITE_VAPID_KEY: ${{ secrets.VITE_VAPID_KEY }} | |
| VITE_FIREBASE_CONFIG: ${{ secrets.VITE_FIREBASE_CONFIG }} | |
| - name: Generate AI changelog | |
| id: changelog | |
| uses: mistricky/[email protected] | |
| with: | |
| anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} | |
| github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} | |
| model: claude-sonnet-4-5-20250929 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| - name: Publish CF console | |
| run: bun run deploy:cloudflare:console:${{ env.ENV }} | |
| env: | |
| CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
| CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | |
| - name: Deploy to Capgo | |
| run: bunx @capgo/cli@latest bundle upload -a ${{ secrets.CAPGO_TOKEN }} --channel ${{ env.CHANNEL }} --delta | |
| env: | |
| CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} | |
| - name: Create GitHub release | |
| id: create_release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| body: | | |
| ## 🆕 Changelog | |
| ${{ steps.changelog.outputs.result }} | |
| --- | |
| 🔗 **Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ steps.changelog.outputs.from_tag }}...${{ steps.changelog.outputs.to_tag }} | |
| make_latest: true | |
| token: '${{ secrets.PERSONAL_ACCESS_TOKEN }}' | |
| prerelease: ${{ contains(github.ref, '-alpha.') }} | |
| deploy_api: | |
| needs: supabase_deploy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Set environment variable | |
| run: | | |
| if [[ ${{ github.ref }} == *-alpha* ]]; then | |
| echo "ENV=dev" >> $GITHUB_ENV | |
| else | |
| echo "ENV=prod" >> $GITHUB_ENV | |
| fi | |
| - name: Deploy CF Worker API | |
| run: bun run deploy:cloudflare:api:${{ env.ENV }} | |
| env: | |
| CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
| CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | |
| SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
| deploy_files: | |
| needs: supabase_deploy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Set environment variable | |
| run: | | |
| if [[ ${{ github.ref }} == *-alpha* ]]; then | |
| echo "ENV=dev" >> $GITHUB_ENV | |
| else | |
| echo "ENV=prod" >> $GITHUB_ENV | |
| fi | |
| - name: Deploy CF Worker Files | |
| run: bun run deploy:cloudflare:files:${{ env.ENV }} | |
| env: | |
| CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
| CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | |
| deploy_plugin_regions: | |
| needs: supabase_deploy | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| region: [eu, as, us, sa, oc, af, me, hk] | |
| include: | |
| - region: eu | |
| region_label: Europe (EU) | |
| cf_target: plugin_eu | |
| - region: as | |
| region_label: Asia (AS) | |
| cf_target: plugin_as | |
| - region: us | |
| region_label: United States (US) | |
| cf_target: plugin_na | |
| - region: sa | |
| region_label: South America (SA) | |
| cf_target: plugin_sa | |
| - region: oc | |
| region_label: Oceania (OC) | |
| cf_target: plugin_oc | |
| - region: af | |
| region_label: Africa (AF) | |
| cf_target: plugin_af | |
| - region: me | |
| region_label: Middle East (ME) | |
| cf_target: plugin_me | |
| - region: hk | |
| region_label: Hong Kong (HK) | |
| cf_target: plugin_hk | |
| name: Deploy CF Worker Plugin (${{ matrix.region_label }}) | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Set environment variable | |
| run: | | |
| if [[ ${{ github.ref }} == *-alpha* ]]; then | |
| echo "ENV=dev" >> $GITHUB_ENV | |
| else | |
| echo "ENV=prod" >> $GITHUB_ENV | |
| fi | |
| - name: Deploy CF Worker Plugin | |
| run: bun run deploy:cloudflare:${{ matrix.cf_target }}:${{ env.ENV }} | |
| env: | |
| CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
| CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} |