Skip to content

refactor!: move to expo #35

refactor!: move to expo

refactor!: move to expo #35

Workflow file for this run

name: Release
on:
workflow_dispatch:
push:
branches: [main, migrate-to-expo]
concurrency:
group: release
cancel-in-progress: true
jobs:
checks:
uses: ./.github/workflows/checks.yml
prepare:
runs-on: ubuntu-latest
needs: checks
outputs:
release-version: ${{ steps.bump-version.outputs.next }}
steps:
- uses: shabados/actions/setup-git-identity@release/v2
with:
user: Shabad OS Bot
email: [email protected]
- uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GH_BOT_TOKEN }}
- uses: shabados/actions/bump-version@release/v2
id: bump-version
- uses: shabados/actions/generate-changelog@release/v2
- uses: ./.github/actions/upload-workspace
build:
needs: prepare
runs-on: ${{ matrix.os }}
env:
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
strategy:
fail-fast: false
matrix:
profile: [next, latest]
platform: [ios, android]
os: [macos-14, ubuntu-latest]
exclude:
- platform: android
os: macos-14
- platform: ios
os: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/download-workspace
- uses: actions/setup-node@v4
with:
node-version-file: .node-version
cache: npm
- run: npm ci
- uses: ./.github/actions/cache-pods
if: matrix.platform == 'ios'
- uses: actions/setup-java@v4
if: matrix.platform == 'android'
with:
distribution: temurin
java-version-file: .java-version
cache: gradle
- run: |
npm run build -- \
--non-interactive \
--output build \
--platform ${{ matrix.platform }} \
--profile ${{ matrix.profile }}
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.profile }}-${{ matrix.platform }}
path: |
build/*.aab
build/*.apk
build/*.ipa
submit:
needs: build
runs-on: ubuntu-latest
environment: ${{ matrix.profile }}
strategy:
matrix:
profile: [next, latest]
platform: [ios, android]
env:
EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }}
steps:
- uses: actions/download-artifact@v4
with:
name: ${{ matrix.profile }}-${{ matrix.platform }}
- run: |
npx eas-cli submit \
--non-interactive \
--path build \
--platform ${{ matrix.platform }} \
--profile ${{ matrix.profile }}
publish-github:
runs-on: ubuntu-latest
needs: [prepare, submit]
steps:
- uses: actions/download-artifact@v4
- uses: shabados/actions/publish-github@release/v2
with:
github_token: ${{ secrets.GH_BOT_TOKEN }}
release_version: ${{ needs.prepare.outputs.release-version }}
asset_paths: |
build/*.aab
build/*.apk
build/*.ipa