126 lines
3.4 KiB
YAML
126 lines
3.4 KiB
YAML
name: Build Apps, Deploy Web and Create Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "[0-9]+.[0-9]+.[0-9]+"
|
|
|
|
jobs:
|
|
build_web:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: corepack enable
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: pnpm
|
|
|
|
- name: 📦 Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: Build dist bundle
|
|
run: pnpm build
|
|
|
|
- name: Upload dist bundle to S3
|
|
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 }}-Build.zip
|
|
path: Voyager-Web-${{ github.ref_name }}.zip
|
|
|
|
build_ios:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Build iOS on Appflow
|
|
uses: ionic-team/appflow-build@v1
|
|
with:
|
|
token: ${{ secrets.APPFLOW_TOKEN }}
|
|
app-id: 9f0851ec
|
|
platform: iOS
|
|
build-type: app-store
|
|
certificate: Distribution
|
|
destinations: Voyager App Store
|
|
filename: Voyager-iOS-${{ github.ref_name }}
|
|
upload-artifact: Voyager-iOS-${{ github.ref_name }}-Build.zip
|
|
|
|
build_android_play:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Build Android on Appflow
|
|
uses: ionic-team/appflow-build@v1
|
|
with:
|
|
token: ${{ secrets.APPFLOW_TOKEN }}
|
|
app-id: 9f0851ec
|
|
platform: Android
|
|
build-type: release
|
|
certificate: Voyager Play Store
|
|
destinations: Voyager Play Store
|
|
|
|
build_android:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Build Android on Appflow
|
|
uses: ionic-team/appflow-build@v1
|
|
with:
|
|
token: ${{ secrets.APPFLOW_TOKEN }}
|
|
app-id: 9f0851ec
|
|
platform: Android
|
|
build-type: release
|
|
environment: BuildFOSSOnly
|
|
certificate: Voyager Play Store
|
|
filename: Voyager-Android-${{ github.ref_name }}
|
|
upload-artifact: Voyager-Android-${{ github.ref_name }}-Build.zip
|
|
|
|
create_release:
|
|
needs: [build_web, build_ios, build_android_play, build_android]
|
|
runs-on: ubuntu-latest
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
steps:
|
|
- name: Download dist artifacts
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: Voyager-Web-${{ github.ref_name }}-Build.zip
|
|
path: artifacts/web
|
|
|
|
- name: Download iOS Artifact
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: Voyager-iOS-${{ github.ref_name }}-Build.zip
|
|
path: artifacts/ios
|
|
|
|
- name: Download Android Artifact
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: Voyager-Android-${{ github.ref_name }}-Build.zip
|
|
path: artifacts/android
|
|
|
|
- name: Release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
generate_release_notes: true
|
|
files: |
|
|
artifacts/ios/*
|
|
artifacts/android/*
|
|
artifacts/web/*
|