Skip to content

Commit

Permalink
Merge Release 2.19.0
Browse files Browse the repository at this point in the history
  • Loading branch information
sharunkumar committed Nov 12, 2024
2 parents ee40f48 + 24feb81 commit f2e29d2
Show file tree
Hide file tree
Showing 564 changed files with 15,468 additions and 16,682 deletions.
9 changes: 3 additions & 6 deletions .browserslistrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
Chrome >=89
ChromeAndroid >=89
Firefox >=75
Edge >=89
Safari >=15
iOS >=15
last 2 versions
not dead
iOS >= 15
235 changes: 235 additions & 0 deletions .github/workflows/build_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,235 @@
name: Build, deploy and release

on:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]+"
- "test-[0-9]+.[0-9]+.[0-9]+"

jobs:
build_web:
runs-on: ubuntu-latest
concurrency:
group: "build_web"
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 22

- run: corepack enable

- name: 📦 Install dependencies
run: pnpm install --frozen-lockfile

- name: Build dist bundle
run: pnpm build

- name: Upload dist bundle to S3
if: github.ref_name != 'test*'
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks --delete
env:
SOURCE_DIR: dist
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

- name: Compress artifacts
run: |
zip -r Voyager-Web-${{ github.ref_name }}.zip dist
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: Voyager-Web-${{ github.ref_name }}.zip
path: Voyager-Web-${{ github.ref_name }}.zip

build_ios:
environment: deploy
runs-on: macos-latest
concurrency:
group: "build_ios"
cancel-in-progress: true
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 22

- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"

- name: Install Fastlane
run: |
gem install bundler
bundle install
- run: corepack enable

- run: pnpm i --frozen-lockfile

- name: Build (Ionic)
run: pnpm exec ionic cap sync
env:
CI_PLATFORM: ios

- name: Deploy to TestFlight
if: github.ref_name != 'test*'
run: |
echo "$APP_STORE_CONNECT_KEY" > authkey.json
bundle exec fastlane deploy
env:
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_BASIC_AUTHORIZATION }}
APP_STORE_CONNECT_KEY: ${{ secrets.APP_STORE_CONNECT_KEY }}
COMMIT_MSG: ${{ github.event.commits[0].message }}

- name: Upload iOS IPA as artifact
uses: actions/upload-artifact@v4
with:
name: Voyager-iOS-${{ github.ref_name }}.ipa
path: Voyager-iOS-${{ github.ref_name }}.ipa

build_android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 22

- run: corepack enable

- run: pnpm i --frozen-lockfile

- name: Build (Ionic)
run: pnpm exec ionic cap sync
env:
BUILD_FOSS_ONLY: 1
CI_PLATFORM: android

- name: Set up JDK 11
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "corretto"
cache: gradle
- name: Build (Android)
run: |
echo $ANDROID_KEYSTORE | base64 --decode > android/app/release-ci.keystore
cd android
./gradlew assembleRelease
env:
ANDROID_KEYSTORE: ${{ secrets.ANDROID_KEYSTORE }}
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}

- run: mv android/app/build/outputs/apk/release/app-release.apk Voyager-Android-${{ github.ref_name }}.apk

- name: Send to Artifacts
uses: actions/upload-artifact@v4
with:
name: Voyager-Android-${{ github.ref_name }}.apk
path: Voyager-Android-${{ github.ref_name }}.apk

build_android_play:
environment: deploy
runs-on: ubuntu-latest
concurrency:
group: "build_android_play"
cancel-in-progress: true
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 22

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"

- name: Install Fastlane
run: |
gem install bundler
bundle install
- run: corepack enable

- run: pnpm i --frozen-lockfile

- name: Build (Ionic)
run: pnpm exec ionic cap sync
env:
CI_PLATFORM: android

- name: Set up JDK 11
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "corretto"
cache: gradle

- name: Build (Android)
run: |
echo $ANDROID_KEYSTORE | base64 --decode > android/app/release-ci.keystore
env:
ANDROID_KEYSTORE: ${{ secrets.ANDROID_KEYSTORE }}

- name: Setup service account
run: echo $GOOGLE_SERVICE_ACCOUNT | base64 --decode > android/pc-api.json
env:
GOOGLE_SERVICE_ACCOUNT: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}

- name: Run Fastlane
run: bundle exec fastlane android deploy
env:
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}

create_release:
needs: [build_web, build_ios, build_android_play, build_android]
if: startsWith(github.ref_name, 'test-') != true
runs-on: ubuntu-latest

permissions:
contents: write

steps:
- name: Download dist artifacts
uses: actions/download-artifact@v4
with:
name: Voyager-Web-${{ github.ref_name }}.zip
path: artifacts/web

- name: Download iOS Artifact
uses: actions/download-artifact@v4
with:
name: Voyager-iOS-${{ github.ref_name }}.ipa
path: artifacts/ios

- name: Download Android Artifact
uses: actions/download-artifact@v4
with:
name: Voyager-Android-${{ github.ref_name }}.apk
path: artifacts/android

- name: Release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
files: |
artifacts/ios/*
artifacts/android/*
artifacts/web/*
125 changes: 0 additions & 125 deletions .github/workflows/cd.yml

This file was deleted.

Loading

0 comments on commit f2e29d2

Please sign in to comment.