Skip to content

refactor: move to expo #10

refactor: move to expo

refactor: move to expo #10

Workflow file for this run

name: Release
on:
workflow_dispatch:
push:
branches: [main, migrate-to-expo]
concurrency:
group: release
cancel-in-progress: true
env:
ENV: next
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
with:
prerelease: true
- uses: shabados/actions/generate-changelog@release/v2
- uses: ./.github/actions/upload-workspace
build-release:
needs: prepare
runs-on: ${{ matrix.os }}
env:
MATCH_GIT_URL: https://${{ secrets.GH_BOT_TOKEN }}@github.com/shabados/ios-certificates.git
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
MATCH_GIT_FULL_NAME: Shabad OS Bot
MATCH_GIT_USER_EMAIL: [email protected]
APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_KEY }}
SUPPLY_JSON_KEY_DATA: ${{ secrets.PLAY_STORE_CREDENTIALS }}
UPLOAD_KEYSTORE_FILE: ${{ secrets.UPLOAD_KEYSTORE_FILE }}
UPLOAD_KEYSTORE_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_PASSWORD }}
UPLOAD_KEYSTORE_KEY_ALIAS: ${{ secrets.UPLOAD_KEYSTORE_KEY_ALIAS }}
UPLOAD_KEYSTORE_KEY_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_KEY_PASSWORD }}
ENV: next
strategy:
fail-fast: false
matrix:
include:
- os: macos-14
platform: ios
- os: ubuntu-latest
platform: android
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/download-workspace
- uses: Homebrew/actions/setup-homebrew@master
- uses: actions/setup-node@v4
with:
node-version-file: .node-version
cache: npm
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- run: brew bundle
- run: npm ci
- run: npm run prebuild:${{ matrix.platform }} -- --no-install
- uses: ./.github/actions/install-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: bundle exec fastlane ${{ matrix.platform }} prepare_release
- run: npm run build:${{ matrix.platform }} -- release:true
- run: bundle exec fastlane ${{ matrix.platform }} release
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.platform }}
path: |
android/**/*.apk
android/**/*.apk
ios/**/*.ipa
# We should only have these for
# publish-github:
# runs-on: ubuntu-latest
# needs: [prepare, build-release]
# steps:
# - uses: ./.github/actions/download-workspace
# - uses: shabados/actions/publish-github@release/v2
# with:
# github_token: ${{ secrets.GH_BOT_TOKEN }}
# release_version: ${{ needs.prepare.outputs.release-version }}