Update GitHub actions #29
Workflow file for this run
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 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.24.1' | |
- 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.24.1' | |
- 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" |