Release triggered by arienemaiara #361
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: Release | |
| run-name: Release triggered by ${{ github.actor }} | |
| on: | |
| schedule: | |
| # Nightly build at midnight EST (05:00 UTC) | |
| - cron: '0 5 * * *' | |
| workflow_dispatch: | |
| inputs: | |
| platform: | |
| description: 'Platform for the release (all, ios, android, desktop)' | |
| required: false | |
| type: choice | |
| default: 'all' | |
| options: | |
| - all | |
| - ios | |
| - android | |
| - desktop | |
| version: | |
| description: 'Explicit version to set (e.g., 1.2.3). Leave empty for auto-detection.' | |
| required: false | |
| type: string | |
| version_type: | |
| description: 'Type of version bump (auto, patch, minor, major)' | |
| required: false | |
| type: choice | |
| default: 'auto' | |
| options: | |
| - auto | |
| - patch | |
| - minor | |
| - major | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: write | |
| jobs: | |
| version_bump: | |
| name: Version Bump | |
| uses: ./.github/workflows/version-bump.yml | |
| secrets: inherit | |
| with: | |
| platform: ${{ inputs.platform || 'all' }} | |
| version: ${{ inputs.version }} | |
| version_type: ${{ inputs.version_type || 'auto' }} | |
| nightly: ${{ github.event_name == 'schedule' }} | |
| desktop: | |
| name: Desktop Release | |
| needs: version_bump | |
| if: needs.version_bump.result == 'success' && (inputs.platform == 'all' || inputs.platform == 'desktop' || github.event_name == 'schedule') | |
| uses: ./.github/workflows/desktop-release.yml | |
| secrets: inherit | |
| with: | |
| version: ${{ needs.version_bump.outputs.new_version }} | |
| nightly: ${{ github.event_name == 'schedule' }} | |
| ios: | |
| name: iOS Release | |
| needs: version_bump | |
| if: needs.version_bump.result == 'success' && (inputs.platform == 'all' || inputs.platform == 'ios' || github.event_name == 'schedule') | |
| uses: ./.github/workflows/ios-release.yml | |
| secrets: inherit | |
| with: | |
| version: ${{ needs.version_bump.outputs.new_version }} | |
| nightly: ${{ github.event_name == 'schedule' }} | |
| android: | |
| name: Android Release | |
| needs: version_bump | |
| if: needs.version_bump.result == 'success' && (inputs.platform == 'all' || inputs.platform == 'android' || github.event_name == 'schedule') | |
| uses: ./.github/workflows/android-release.yml | |
| secrets: inherit | |
| with: | |
| version: ${{ needs.version_bump.outputs.new_version }} | |
| nightly: ${{ github.event_name == 'schedule' }} | |
| # The CLI rides the unified `v{version}` release tag: its binaries attach to the | |
| # same GitHub Release, and the desktop workflow's publish job flips that shared | |
| # tag to public. It therefore builds only for `all` and nightly runs — not for | |
| # single-platform (ios/android/desktop) dispatches, which produce RC tags the | |
| # CLI would not belong to. | |
| cli: | |
| name: CLI Release | |
| needs: version_bump | |
| if: needs.version_bump.result == 'success' && (inputs.platform == 'all' || github.event_name == 'schedule') | |
| uses: ./.github/workflows/cli-release.yml | |
| with: | |
| version: ${{ needs.version_bump.outputs.new_version }} | |
| nightly: ${{ github.event_name == 'schedule' }} |