apt update #130
This file contains 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
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |
name: Mobile CI | |
on: | |
push: | |
branches: | |
- "*v[0-9].[0-9].[0-9]" | |
- "main" | |
jobs: | |
build_web_assets: | |
runs-on: ubuntu-latest | |
env: | |
SECRETS_PASSPHRASE: ${{ secrets.ENCRYPTION_KEY }} | |
steps: | |
- name: Check out app | |
uses: actions/checkout@v2 | |
- name: Update submodules | |
run: git submodule init; git submodule update | |
- name: Setup Node.js 16.x | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 16.x | |
- name: Source config | |
run: source config.sh | |
- name: Decrypt secrets | |
run: ./decrypt.sh | |
- name: Install Ionic | |
run: yarn global add @ionic/cli | |
- name: Install dependencies | |
run: yarn | |
- name: Build app | |
run: CI=false yarn ionic:dist | |
- name: Upload built web assets | |
uses: actions/upload-artifact@v2 | |
with: | |
name: built_web_assets | |
path: build | |
build_and_deploy_ios: | |
environment: ios-access | |
runs-on: macOS-latest | |
needs: build_web_assets | |
env: | |
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }} | |
FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }} | |
FASTLANE_SESSION: ${{ secrets.FASTLANE_SESSION }} | |
FASTLANE_USER: ${{ secrets.FASTLANE_USER }} | |
FASTLANE_KEYCHAIN_NAME: ${{ secrets.FASTLANE_KEYCHAIN_NAME }} | |
FASTLANE_KEYCHAIN_PASSWORD: ${{ secrets.FASTLANE_KEYCHAIN_PASSWORD }} | |
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | |
SECRETS_PASSPHRASE: ${{ secrets.ENCRYPTION_KEY }} | |
ANDROID_STORE_PASSWORD: ${{ secrets.ANDROID_STORE_PASSWORD }} | |
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }} | |
steps: | |
- name: Check out app | |
uses: actions/checkout@v2 | |
with: | |
token: ${{ secrets.ALL_POWERFUL_TOKEN }} | |
- name: Update submodules | |
run: git submodule init; git submodule update | |
- name: Configure CI Git User | |
run: | | |
git config --global user.name 'shabangbackend' | |
git config --global user.email '[email protected]' | |
- name: Setup Node.js 16.x | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 16.x | |
- name: Source config | |
run: source config.sh | |
- name: Decrypt secrets | |
run: ./decrypt.sh | |
- name: Chmoding secret | |
run: chmod 400 id_rsa | |
- name: Install Ionic Tools | |
run: yarn global add @ionic/cli @capacitor/cli | |
- name: Install Capacitor | |
run: yarn add @capacitor/core | |
- name: Setup fastlane | |
run: brew install fastlane | |
- name: Make build directory | |
run: mkdir build | |
- name: Download built web assets | |
uses: actions/download-artifact@v2 | |
with: | |
name: built_web_assets | |
path: build | |
- name: Sync mobile | |
run: CI=false npx cap sync | |
- name: Build and publish iOS to Testflight | |
run: fastlane ios build | |
- name: Commit bumped build code | |
run: | | |
git remote add github "https://$GITHUB_ACTOR:[email protected]/$GITHUB_REPOSITORY.git" | |
git checkout -- fastlane/report.xml | |
git config pull.rebase false | |
git commit -a -m "[ci skip] [CI] Bump iOS build code" | |
git pull --commit github ${GITHUB_REF} | |
git push -f github HEAD:${GITHUB_REF} | |
build_and_deploy_android: | |
environment: ios-access | |
runs-on: ubuntu-latest | |
needs: build_web_assets | |
env: | |
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }} | |
FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }} | |
FASTLANE_SESSION: ${{ secrets.FASTLANE_SESSION }} | |
FASTLANE_USER: ${{ secrets.FASTLANE_USER }} | |
FASTLANE_KEYCHAIN_NAME: ${{ secrets.FASTLANE_KEYCHAIN_NAME }} | |
FASTLANE_KEYCHAIN_PASSWORD: ${{ secrets.FASTLANE_KEYCHAIN_PASSWORD }} | |
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | |
SECRETS_PASSPHRASE: ${{ secrets.ENCRYPTION_KEY }} | |
ANDROID_STORE_PASSWORD: ${{ secrets.ANDROID_STORE_PASSWORD }} | |
ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }} | |
JSON_KEY_DATA: ${{ secrets.JSON_KEY_DATA }} | |
steps: | |
- name: Check out app | |
uses: actions/checkout@v2 | |
with: | |
token: ${{ secrets.ALL_POWERFUL_TOKEN }} | |
- name: Update submodules | |
run: git submodule init; git submodule update | |
- name: Configure CI Git User | |
run: | | |
git config --global user.name 'shabangbackend' | |
git config --global user.email '[email protected]' | |
- name: Setup Node.js 16.x | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 16.x | |
- name: Source config | |
run: source config.sh | |
- name: Decrypt secrets | |
run: ./decrypt.sh | |
- name: Chmoding secret | |
run: chmod 400 id_rsa | |
- name: Install Ionic Tools | |
run: yarn global add @ionic/cli @capacitor/cli | |
- name: Install Capacitor | |
run: yarn add @capacitor/core | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 2.6 | |
- name: Install Bundle | |
run: sudo gem install bundler | |
- name: Set Locale | |
run: | | |
export LC_ALL=en_US.UTF-8 | |
export LANG=en_US.UTF-8 | |
- name: Install Fastlane | |
run: bundle install | |
- name: Install Fastlane's Versiony Bumpy Plugin | |
run: bundle exec fastlane add_plugin versioning_android | |
- name: Install Android SDK | |
run: sudo apt update && sudo apt install android-sdk | |
- name: Make build directory | |
run: mkdir build | |
- name: Download built web assets | |
uses: actions/download-artifact@v2 | |
with: | |
name: built_web_assets | |
path: build | |
- name: Sync mobile | |
run: CI=false npx cap sync | |
- name: Build and publish Android to Play | |
run: bundle exec fastlane android build | |
- name: Commit bumped build code | |
run: | | |
git remote add github "https://$GITHUB_ACTOR:[email protected]/$GITHUB_REPOSITORY.git" | |
git checkout -- fastlane/report.xml | |
git config pull.rebase false | |
git commit -a -m "[ci skip] [CI] Bump Android build code" | |
git pull --commit github ${GITHUB_REF} | |
git push -f github HEAD:${GITHUB_REF} | |