forked from aeharding/voyager
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
564 changed files
with
15,468 additions
and
16,682 deletions.
There are no files selected for viewing
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
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 |
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
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/* |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.