name: Build on: push: branches: - main pull_request: jobs: android: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: distribution: "temurin" java-version: "17" - uses: subosito/flutter-action@v2 with: channel: "stable" cache: true - name: Cache Gradle uses: actions/cache@v4 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('android/gradle/wrapper/gradle-wrapper.properties', 'android/build.gradle', 'android/settings.gradle', 'android/app/build.gradle', 'pubspec.lock') }} restore-keys: | ${{ runner.os }}-gradle- - run: flutter pub get - run: flutter build apk --release --no-pub ios: runs-on: macos-latest steps: - uses: actions/checkout@v4 - uses: subosito/flutter-action@v2 with: channel: "stable" cache: true - run: flutter pub get - run: flutter build ios --release --no-codesign --no-pub linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: subosito/flutter-action@v2 with: channel: "stable" cache: true - name: Install Linux build deps run: sudo apt-get update && sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev - run: flutter pub get - run: flutter build linux --release --no-pub macos: runs-on: macos-latest steps: - uses: actions/checkout@v4 - uses: subosito/flutter-action@v2 with: channel: "stable" cache: true - run: flutter pub get - run: flutter build macos --release --no-pub web: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: subosito/flutter-action@v2 with: channel: "stable" cache: true - run: flutter pub get - run: flutter build web --release --no-pub