From c8994e98a581c5ddaa7a3ed76a90d40f99240019 Mon Sep 17 00:00:00 2001 From: Ian VanSchooten Date: Thu, 17 Oct 2024 09:38:50 -0400 Subject: [PATCH] Add smoke-build CI workflow (#169) This adds a workflow into PRs to build the iOS and Android apps, just to verify that they aren't completely broken / unable to build. They're debug builds, so it won't completely mirror the release build, but that allows us to avoid getting signing keys in the workflow. --- .github/workflows/flutterfmt.yml | 2 +- .github/workflows/smoke.yml | 74 ++++++++++++++++++++++++++++++++ nebula/Makefile | 2 +- 3 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/smoke.yml diff --git a/.github/workflows/flutterfmt.yml b/.github/workflows/flutterfmt.yml index 5f73213..af01091 100644 --- a/.github/workflows/flutterfmt.yml +++ b/.github/workflows/flutterfmt.yml @@ -24,4 +24,4 @@ jobs: uses: actions/checkout@v3 - name: Check formating - run: dart format -l120 lib/ --set-exit-if-changed --suppress-analytics --output none \ No newline at end of file + run: dart format -l120 lib/ --set-exit-if-changed --suppress-analytics --output none diff --git a/.github/workflows/smoke.yml b/.github/workflows/smoke.yml new file mode 100644 index 0000000..b9f8b3a --- /dev/null +++ b/.github/workflows/smoke.yml @@ -0,0 +1,74 @@ +# 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: Set up Go 1.22 + uses: actions/setup-go@v4 + with: + go-version: "1.22" + + - uses: actions/setup-java@v2 + with: + distribution: 'zulu' + java-version: '17' + + - name: Install flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: '3.24.1' + + - name: Check out code + uses: actions/checkout@v3 + + - 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 + + build-ios: + name: iOS + runs-on: macos-latest + + steps: + - name: Set up Go 1.22 + uses: actions/setup-go@v4 + with: + go-version: "1.22" + + - name: Install flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: '3.24.1' + + - name: Check out code + uses: actions/checkout@v3 + + - 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" diff --git a/nebula/Makefile b/nebula/Makefile index 28ca35e..0746dad 100644 --- a/nebula/Makefile +++ b/nebula/Makefile @@ -9,7 +9,7 @@ clean: mobileNebula.aar: *.go go.sum go get -d golang.org/x/mobile/cmd/gomobile - gomobile bind -trimpath -v --target=android -androidapi 26 + gomobile bind -trimpath -v --target=android -androidapi=26 MobileNebula.xcframework: *.go go.sum go get -d golang.org/x/mobile/cmd/gomobile