Skip to content

Commit

Permalink
feat: release in app/play store with automation (#101)
Browse files Browse the repository at this point in the history
* CI: publish on testflight

* fix: remove fastfile and gemfile.lock

* fix: remove fastlane pluginfile

* chore: update podfile.lock

* fix: update info.plist

* fix: change provisioning file

* fix: add NSPhotoLibraryUsageDescription info for ios

* fix: start ios distribution from build number 3

* fix: initial build number in the fastlane action env

* chore: add ios metadata

* chore: use external workflow also for firebase distribution

* fix: pass to testflight contact infos

* feat: add ci for android alpha and ios production

* fix: point to the right keystore secret

* fix: ship alpha version keystore

* fix: pass bundle name when pushing on playstore

* fix: pass bundle as input, not secret
  • Loading branch information
phoebus-84 authored Jan 29, 2025
1 parent 11d17b5 commit 81c2aa7
Show file tree
Hide file tree
Showing 37 changed files with 223 additions and 446 deletions.
64 changes: 13 additions & 51 deletions .github/workflows/distribute.yml
Original file line number Diff line number Diff line change
@@ -1,57 +1,19 @@
name: '📢 and 📲'
name: 🔥📲 Publish on Firebase Distribution

on:
pull_request:
branches: ['main']

jobs:
distribute:
runs-on: ubuntu-latest
environment: test
steps:
- uses: dyne/pnpm@main
with:
submodules: true
node-version: '20.11.1'
- uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Setup java
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: '17'
- name: Decode Keystore File
uses: timheuer/base64-to-file@v1
id: android_keystore
with:
fileName: android_keystore.keystore
encodedString: ${{ secrets.ANDROID_KEYSTORE_FILE }}
- name: Decode Service Account File
uses: timheuer/base64-to-file@v1
id: service_account
with:
fileName: play-store-credentials.json
encodedString: ${{ secrets.FIREBASE_SERVICE_ACCOUNT }}
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler-cache: true

- uses: maierj/[email protected]
env:
KEYSTORE_PATH: ${{ steps.android_keystore.outputs.filePath }}
SERVICE_ACCOUNT_PATH: ${{ steps.service_account.outputs.filePath }}
KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }}
KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }}
FIREBASE_APP_ID: ${{ secrets.FIREBASE_APP_ID }}
PULL_REQUEST_NUMBER: ${{ github.event.number }}
PULL_REQUEST_TITLE: ${{ github.event.pull_request.title }}
PUBLIC_BACKEND_URL: ${{ vars.PUBLIC_BACKEND_URL }}
with:
lane: distribute
uses: ForkbombEu/ship-capacitor-apps/.github/workflows/ship_android.yml@main
with:
backend-url: ${{ github.env.test.vars.PUBLIC_BACKEND_URL }}
lane: distribute
secrets:
keystore-file: ${{ secrets.ANDROID_KEYSTORE_FILE }}
service-account: ${{ secrets.FIREBASE_SERVICE_ACCOUNT }}
keystore-alias: ${{ secrets.KEYSTORE_KEY_ALIAS }}
keystore-password: ${{ secrets.KEYSTORE_STORE_PASSWORD }}
keystore-key-password: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
firebase-app-id: ${{ secrets.FIREBASE_APP_ID }}
19 changes: 19 additions & 0 deletions .github/workflows/publish_android_alpha_version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: 🤖🌈 Publish android alpha version

on:
pull_request:
branches: ['main']

jobs:
distribute:
uses: ForkbombEu/ship-capacitor-apps/.github/workflows/ship_android.yml@main
with:
backend-url: ${{ github.env.test.vars.PUBLIC_BACKEND_URL }}
lane: alpha
package-name: com.didroom.verifier
secrets:
keystore-file: ${{ secrets.PLAYSTORE_KEYSTORE }}
service-account: ${{ secrets.PLAYSTORE_SERVICE_ACCOUNT }}
keystore-alias: ${{ secrets.PLAYSTORE_KEYSTORE_ALIAS }}
keystore-password: ${{ secrets.PLAYSTORE_KEYSTORE_PASSWORD }}
keystore-key-password: ${{ secrets.PLAYSTORE_KEYSTORE_KEY_PASSWORD }}
24 changes: 24 additions & 0 deletions .github/workflows/publish_ios_production.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: 🤖🌈 Submit for review on App Store

on:
push:
branches: ['main']

jobs:
distribute_ios:
uses: ForkbombEu/ship-capacitor-apps/.github/workflows/ship_ios.yml@main
with:
backend-url: ${{ vars.PUBLIC_BACKEND_URL }}
lane: ios production
DEMO_USER: ${{ github.env.ios.vars.USER_EMAIL }}
DEMO_PASSWORD: ${{ github.env.ios.vars.USER_PASSWORD }}
secrets:
APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
BUNDLE_IDENTIFIER: ${{ secrets.BUNDLE_IDENTIFIER }}
BUILD_CERTIFICATE_BASE64: ${{ secrets.IOS_BUILD_CERTIFICATE }}
BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.IOS_BUILD_PROVISION_PROFILE }}
APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }}
APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }}
APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }}
APPLE_PROFILE_NAME: ${{ secrets.APPLE_PROFILE_NAME }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
29 changes: 29 additions & 0 deletions .github/workflows/testflight_distribution.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: 🍏✨ Publish on TestFlight

on:
pull_request:
branches: ['main']

jobs:
testflight:
uses: ForkbombEu/ship-capacitor-apps/.github/workflows/ship_ios.yml@main
with:
backend-url: ${{github.env.test.vars.PUBLIC_BACKEND_URL}}
lane: ios testflight
initial-build-number: "3"
DEMO_USER: ${{github.env.test.vars.DEMO_USER}}
DEMO_PASSWORD: ${{github.env.test.vars.DEMO_PASSWORD}}
CONTACT_EMAIL: [email protected]
CONTACT_FIRST_NAME: Andrea
CONTACT_LAST_NAME: D'Intino
CONTACT_PHONE: "+4521627918"
secrets:
APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
BUNDLE_IDENTIFIER: com.didroom.verifier
BUILD_CERTIFICATE_BASE64: ${{ secrets.IOS_BUILD_CERTIFICATE }}
BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.IOS_BUILD_PROVISION_PROFILE }}
APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }}
APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }}
APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }}
APPLE_PROFILE_NAME: ${{ secrets.APPLE_PROFILE_NAME }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}
233 changes: 0 additions & 233 deletions Gemfile.lock

This file was deleted.

3 changes: 3 additions & 0 deletions fastlane/Deliverfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# The Deliverfile allows you to store various App Store Connect metadata
# For more information, check out the docs
# https://docs.fastlane.tools/actions/deliver/
Loading

0 comments on commit 81c2aa7

Please sign in to comment.