-
Notifications
You must be signed in to change notification settings - Fork 11
103 lines (96 loc) · 3.27 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
name: Release
on:
workflow_dispatch:
push:
branches: [main, migrate-to-expo]
concurrency: release
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 }}
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 }}