mirror of
https://github.com/DefinedNet/mobile_nebula.git
synced 2025-01-18 19:27:05 +00:00
301dc6c394
These are a few more minor updated dependencies, mostly in go.mod. I also see that the pubspec now has an update to the flutter version, which should have happened previously along with the flutter upgrade, but it didn't for whatever reason.
118 lines
3.8 KiB
YAML
118 lines
3.8 KiB
YAML
# This workflow builds the iOS and Android apps, just to check they build without error
|
|
|
|
name: Smoke build
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
|
|
jobs:
|
|
build-android:
|
|
name: Android
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
show-progress: false
|
|
|
|
- name: Set up Go 1.22
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.22"
|
|
cache-dependency-path: nebula/go.sum
|
|
|
|
- uses: actions/setup-java@v4
|
|
with:
|
|
distribution: 'zulu'
|
|
java-version: '17'
|
|
|
|
- name: Install flutter
|
|
uses: subosito/flutter-action@v2
|
|
with:
|
|
flutter-version: '3.27.0'
|
|
|
|
- name: install dependencies
|
|
env:
|
|
TOKEN: ${{ secrets.MACHINE_USER_PAT }}
|
|
run: |
|
|
go install golang.org/x/mobile/cmd/gomobile@latest
|
|
gomobile init
|
|
flutter pub get
|
|
touch env.sh
|
|
|
|
- name: Build Android debug
|
|
run: flutter build appbundle --debug
|
|
|
|
- name: Setup bundletool
|
|
if: github.ref == 'refs/heads/main'
|
|
uses: amyu/setup-bundletool@f7a6fdd8e04bb23d2fdf3c2f60c9257a6298a40a
|
|
- name: Install the google play key material
|
|
if: github.ref == 'refs/heads/main'
|
|
env:
|
|
GOOGLE_PLAY_API_JWT_BASE64: ${{ secrets.GOOGLE_PLAY_API_JWT_BASE64 }}
|
|
GOOGLE_PLAY_KEYSTORE_BASE64: ${{ secrets.GOOGLE_PLAY_KEYSTORE_BASE64 }}
|
|
run: |
|
|
GOOGLE_PLAY_API_JWT_PATH="$RUNNER_TEMP/gp_api.json"
|
|
echo "GOOGLE_PLAY_API_JWT_PATH=$GOOGLE_PLAY_API_JWT_PATH" >> $GITHUB_ENV
|
|
echo -n "$GOOGLE_PLAY_API_JWT_BASE64" | base64 --decode --output "$GOOGLE_PLAY_API_JWT_PATH"
|
|
|
|
GOOGLE_PLAY_KEYSTORE_PATH="$RUNNER_TEMP/gp_signing.jks"
|
|
echo "GOOGLE_PLAY_KEYSTORE_PATH=$GOOGLE_PLAY_KEYSTORE_PATH" >> $GITHUB_ENV
|
|
echo -n "$GOOGLE_PLAY_KEYSTORE_BASE64" | base64 --decode --output "$GOOGLE_PLAY_KEYSTORE_PATH"
|
|
- name: Generate debug apk
|
|
if: github.ref == 'refs/heads/main'
|
|
env:
|
|
TOKEN: ${{ secrets.MACHINE_USER_PAT }}
|
|
GOOGLE_PLAY_KEYSTORE_PASSWORD: ${{ secrets.GOOGLE_PLAY_KEYSTORE_PASSWORD }}
|
|
run: |
|
|
bundletool build-apks \
|
|
--bundle=build/app/outputs/bundle/debug/app-debug.aab \
|
|
--output=build/app/outputs/apk/debug/app-debug.apks \
|
|
--mode=universal \
|
|
--ks=$GOOGLE_PLAY_KEYSTORE_PATH \
|
|
--ks-key-alias=key \
|
|
--ks-pass=pass:$GOOGLE_PLAY_KEYSTORE_PASSWORD
|
|
unzip -p build/app/outputs/apk/debug/app-debug.apks universal.apk > build/app/outputs/apk/debug/app-debug.apk
|
|
- name: Collect debug apk
|
|
if: github.ref == 'refs/heads/main'
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: MobileNebulaDebug.apk
|
|
path: build/app/outputs/apk/debug/app-debug.apk
|
|
retention-days: 60
|
|
|
|
build-ios:
|
|
name: iOS
|
|
runs-on: macos-latest
|
|
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
show-progress: false
|
|
|
|
- name: Set up Go 1.22
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.22"
|
|
cache-dependency-path: nebula/go.sum
|
|
|
|
- name: Install flutter
|
|
uses: subosito/flutter-action@v2
|
|
with:
|
|
flutter-version: '3.27.0'
|
|
|
|
- name: install dependencies
|
|
run: |
|
|
go install golang.org/x/mobile/cmd/gomobile@latest
|
|
gomobile init
|
|
flutter pub get
|
|
touch env.sh
|
|
|
|
- name: Build iOS
|
|
run: |
|
|
cd ios
|
|
pod install
|
|
xcodebuild -workspace Runner.xcworkspace -scheme Runner -configuration Release clean archive CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO -archivePath "build/MobileNebula.xcarchive"
|