|
4 | 4 | workflow_dispatch: |
5 | 5 | inputs: |
6 | 6 | expo_version: |
7 | | - description: 'New OneSignal Expo Plugin Version (e.g., 2.1.0 or 2.1.0-beta.1)' |
8 | | - required: true |
| 7 | + description: 'Override the auto-detected version (e.g., 2.1.0 or 2.1.0-beta.1). Leave blank to auto-detect.' |
| 8 | + required: false |
9 | 9 | type: string |
10 | 10 | target_branch: |
11 | 11 | description: 'Target branch to create the release PR on. Defaults to main.' |
|
14 | 14 | default: main |
15 | 15 |
|
16 | 16 | jobs: |
| 17 | + determine_version: |
| 18 | + runs-on: ubuntu-latest |
| 19 | + outputs: |
| 20 | + expo_version: ${{ inputs.expo_version || steps.next_version.outputs.version }} |
| 21 | + release_needed: ${{ inputs.expo_version != '' || steps.next_version.outputs.release-needed == 'true' }} |
| 22 | + |
| 23 | + steps: |
| 24 | + - name: Determine OneSignal Expo Plugin version |
| 25 | + if: github.event_name == 'workflow_dispatch' && inputs.expo_version == '' |
| 26 | + id: next_version |
| 27 | + uses: OneSignal/sdk-shared/.github/actions/determine-next-version@main |
| 28 | + with: |
| 29 | + github-token: ${{ secrets.GH_PUSH_TOKEN || github.token }} |
| 30 | + target-repo: OneSignal/onesignal-expo-plugin |
| 31 | + target-branch: ${{ inputs.target_branch }} |
| 32 | + |
17 | 33 | prep: |
| 34 | + needs: determine_version |
| 35 | + if: needs.determine_version.outputs.release_needed == 'true' |
18 | 36 | uses: OneSignal/sdk-shared/.github/workflows/prep-release.yml@main |
19 | 37 | with: |
20 | 38 | target_repo: OneSignal/onesignal-expo-plugin |
21 | | - version: ${{ inputs.expo_version }} |
| 39 | + version: ${{ needs.determine_version.outputs.expo_version }} |
22 | 40 |
|
23 | 41 | # Expo Plugin specific steps |
24 | 42 | update_version: |
25 | | - needs: prep |
| 43 | + needs: [determine_version, prep] |
26 | 44 | runs-on: macos-latest |
27 | 45 | steps: |
28 | 46 | - name: Checkout |
|
42 | 60 | uses: OneSignal/sdk-shared/.github/actions/setup-git-user@main |
43 | 61 |
|
44 | 62 | - name: Update sdk version |
| 63 | + env: |
| 64 | + NEW_VERSION: ${{ needs.determine_version.outputs.expo_version }} |
45 | 65 | run: | |
46 | | - NEW_VERSION="${{ inputs.expo_version }}" |
47 | | -
|
48 | 66 | # Update package.json version |
49 | 67 | npm pkg set version="$NEW_VERSION" |
50 | 68 |
|
|
0 commit comments