|
|
# TODO: Update the workflow to build on Android, iOS, desktop (macOS and Windows) instead of just Linux and Web |
|
|
|
|
|
name: 🏗️ Build the example |
|
|
|
|
|
on: |
|
|
pull_request: |
|
|
branches: [master, dev] |
|
|
|
|
|
jobs: |
|
|
build_linux: |
|
|
name: 🐧 Build Linux and Web Apps |
|
|
runs-on: ubuntu-latest |
|
|
|
|
|
steps: |
|
|
- name: 📦 Checkout repository |
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
- name: 🛠️ Set up Flutter |
|
|
uses: subosito/flutter-action@v2 |
|
|
with: |
|
|
channel: 'stable' |
|
|
cache: true |
|
|
|
|
|
- name: 🔍 Verify Flutter installation |
|
|
run: flutter --version |
|
|
|
|
|
- name: 📥 Install Flutter dependencies |
|
|
run: flutter pub get |
|
|
|
|
|
- name: 🚧 Enable local development environment (use the local packages) |
|
|
run: dart ./scripts/enable_local_dev.dart |
|
|
|
|
|
- name: 🌐 Build Flutter Web Application |
|
|
run: flutter build web --release --verbose --dart-define=CI=true |
|
|
working-directory: ./example |
|
|
|
|
|
# TODO: Update the CI to not upgrade all the packages to save some time |
|
|
- name: 🔄 Update and Upgrade APT Packages |
|
|
run: sudo apt update -y && sudo apt upgrade -y |
|
|
|
|
|
- name: 🛠️ Install Flutter Linux Prerequisites |
|
|
run: sudo apt install -y curl git unzip xz-utils zip libglu1-mesa |
|
|
|
|
|
- name: 🧩 Install Flutter Linux Desktop Dependencies |
|
|
run: sudo apt install -y clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev |
|
|
|
|
|
- name: 🐧 Build Flutter Linux Desktop Application |
|
|
run: flutter build linux --release --verbose --dart-define=CI=true |
|
|
working-directory: ./example
|
|
|
|