Skip to content

Prepare Proxy Release #8

Prepare Proxy Release

Prepare Proxy Release #8

name: Prepare Proxy Release
on:
workflow_dispatch:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
prepare-release:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- name: Detect SDK versions
id: detect
run: ./scripts/detect_sdk_versions.sh
- name: Display version summary
run: |
cat >> $GITHUB_STEP_SUMMARY << 'EOF'
## 📦 Proxy Release Summary
| Component | Current | New |
|-----------|---------|-----|
| **Proxy** | - | **${{ steps.detect.outputs.proxy_version }}** |
| **iOS SDK** | - | ${{ steps.detect.outputs.ios_version }} |
| **Android SDK** | - | ${{ steps.detect.outputs.android_version }} |
**Bump Type:** `${{ steps.detect.outputs.bump_type }}`
---
Preparing release PR...
EOF
- name: Prepare release
run: ./scripts/prep_proxy_release.sh
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: |
Release ${{ steps.detect.outputs.proxy_version }}
- Updated iOS SDK to ${{ steps.detect.outputs.ios_version }}
- Updated Android SDK to ${{ steps.detect.outputs.android_version }}
branch: proxy-${{ steps.detect.outputs.proxy_version }}
delete-branch: true
title: Release ${{ steps.detect.outputs.proxy_version }}
body: |
## Proxy Release ${{ steps.detect.outputs.proxy_version }}
Automated release PR for proxy version bump.
### SDK Updates
- iOS SDK: ${{ steps.detect.outputs.ios_version }}
- Android SDK: ${{ steps.detect.outputs.android_version }}
---
🤖 Generated by prep-proxy-release workflow
labels: |
release
automated pr
- name: Update summary with PR link
if: steps.cpr.outputs.pull-request-number
run: |
cat >> $GITHUB_STEP_SUMMARY << 'EOF'
## ✅ Release PR Created
**PR:** [#${{ steps.cpr.outputs.pull-request-number }}](${{ steps.cpr.outputs.pull-request-url }})
### Next Steps
1. Review the PR
2. Merge when ready
3. Tag will be created automatically
4. Run `prep-plugin-releases` workflow with version `${{ steps.detect.outputs.proxy_version }}`
EOF
- name: Notify Slack (Success)
if: success() && steps.cpr.outputs.pull-request-number
run: |
curl -X POST ${{ secrets.MOBILE_SLACK_WEBHOOK }} \
-H 'Content-Type: application/json' \
-d '{
"text": "✅ Proxy release PR created: ${{ steps.cpr.outputs.pull-request-url }}\nVersion: ${{ steps.detect.outputs.proxy_version }}\niOS: ${{ steps.detect.outputs.ios_version }} | Android: ${{ steps.detect.outputs.android_version }}"
}' || true
- name: Notify Slack (Failure)
if: failure()
run: |
curl -X POST ${{ secrets.MOBILE_SLACK_WEBHOOK }} \
-H 'Content-Type: application/json' \
-d '{
"text": "❌ Proxy release preparation failed\nWorkflow: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\n<@crow>"
}' || true