71 lines
1.8 KiB
YAML
71 lines
1.8 KiB
YAML
name: Build & Test
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup Flutter
|
|
uses: subosito/flutter-action@v2
|
|
with:
|
|
flutter-version: '3.35.7'
|
|
- name: Get dependencies
|
|
run: flutter pub get
|
|
- name: Analyze
|
|
run: flutter analyze
|
|
- name: Run tests
|
|
run: flutter test
|
|
|
|
build-android:
|
|
needs: test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup Flutter
|
|
uses: subosito/flutter-action@v2
|
|
with:
|
|
flutter-version: '3.35.7'
|
|
- name: Setup Java
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version: '17'
|
|
- name: Get dependencies
|
|
run: flutter pub get
|
|
- name: Build APK
|
|
run: flutter build apk --release --split-per-abi --no-tree-shake-icons
|
|
- name: Upload APK
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: habo-apks
|
|
path: build/app/outputs/flutter-apk/
|
|
|
|
build-linux:
|
|
needs: test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup Flutter
|
|
uses: subosito/flutter-action@v2
|
|
with:
|
|
flutter-version: '3.35.7'
|
|
- name: Install Linux deps
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y ninja-build clang cmake pkg-config libgtk-3-dev libblkid-dev liblzma-dev libasound2-dev
|
|
- name: Get dependencies
|
|
run: flutter pub get
|
|
- name: Build
|
|
run: flutter build linux --release
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: habo-linux
|
|
path: build/linux/x64/release/bundle/
|