Skip to content

Build

Build #347

Workflow file for this run

name: Build
on:
workflow_dispatch:
schedule:
- cron: "0 19 * * *" # JTS 04:00
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-build
cancel-in-progress: true
jobs:
pull_request_jobs:
uses: ./.github/workflows/pull_request.yaml
permissions: # for KoheiKanagu/composite-actions/setup-firebase-cli@main
id-token: write
contents: read
secrets:
FIREBASE_ADMIN_SDK_SERVICE_ACCOUNT_DEV: ${{ secrets.FIREBASE_ADMIN_SDK_SERVICE_ACCOUNT_DEV }}
build_ios_no-codesign:
timeout-minutes: 60
runs-on: macos-14
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/workflow-telemetry-action@v2.0.0
### Set up ###
- uses: actions/checkout@v4.2.1
- name: Setup Flutter
uses: subosito/flutter-action@v2.16.0
with:
channel: beta
flutter-version-file: pubspec.yaml
cache: true
cache-key: "flutter-:os:-:channel:-:version:-:arch:"
pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:"
- name: Flutter bootstrap
run: |
.github/workflows/flutter_bootstrap.sh
- name: Pods Cache
uses: actions/cache@v4.1.1
with:
path: |
packages/*/ios/Pods
~/Library/Caches/CocoaPods/Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-
### Build ###
- run: melos run build:ios:no-codesign:dev --no-select
build_android:
timeout-minutes: 60
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/workflow-telemetry-action@v2.0.0
### Set up ###
- uses: actions/checkout@v4.2.1
- name: Setup Java JDK
uses: actions/setup-java@v4.4.0
with:
distribution: "temurin"
java-version: "17"
- name: Setup Flutter
uses: subosito/flutter-action@v2.16.0
with:
channel: beta
flutter-version-file: pubspec.yaml
cache: true
cache-key: "flutter-:os:-:channel:-:version:-:arch:"
pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:"
- name: Flutter bootstrap
run: |
.github/workflows/flutter_bootstrap.sh
- name: Gradle Cache
uses: actions/cache@v4.1.1
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
### Android Signing ###
- uses: KoheiKanagu/composite-actions/setup-android-signing@main
with:
package: obento
signing_configs_base64: ${{ secrets.SIGNING_CONFIGS_OBENTO_BASE64 }}
signing_configs_name: signing-configs-release.gradle
upload_keystore_base64: ${{ secrets.UPLOAD_KEYSTORE_OBENTO_BASE64 }}
# for `firebase crashlytics:symbols:upload`
- name: Setup Firebase CLI Prod
uses: KoheiKanagu/composite-actions/setup-firebase-cli@main
with:
workload_identity_provider: ${{ vars.WORKLOAD_IDENTITY_PROVIDER_DEV }}
service_account: ${{ vars.SERVICE_ACCOUNT_DEV }}
### Build ###
- run: melos run build:apk:dev --no-select