feat(app): App-Fundament – Flutter-Gerüst und Supabase-Konfiguration #32
1 changed files with 52 additions and 6 deletions
|
|
@ -9,6 +9,10 @@ on:
|
|||
|
||||
env:
|
||||
SUPABASE_CLI_VERSION: 3.0.0
|
||||
# Einzige Stelle für die Flutter-Version (= lokale Version, Dart 3.13.7; muss zu app/pubspec.yaml passen).
|
||||
# Muss ein existierendes Tag in github.com/flutter/flutter sein. Ein Cirrus-Image mit dieser Version gibt es nicht.
|
||||
FLUTTER_VERSION: 3.47.9
|
||||
FLUTTER_HOME: /opt/flutter
|
||||
|
||||
jobs:
|
||||
# Format, Analyse, Tests. Generierte Dateien (*.g.dart, gen-l10n) sind eingecheckt und
|
||||
|
|
@ -16,7 +20,7 @@ jobs:
|
|||
flutter:
|
||||
runs-on: docker
|
||||
container:
|
||||
image: ghcr.io/cirruslabs/flutter:3.47.9 # = lokale Flutter-Version (Dart 3.13.7); in beiden Jobs gleich halten
|
||||
image: node:22.12-bookworm # gepinnt; enthält git, curl, unzip, xz und Node (für JS-Actions)
|
||||
env:
|
||||
PUB_CACHE: ${{ github.workspace }}/.pub-cache
|
||||
defaults:
|
||||
|
|
@ -25,12 +29,33 @@ jobs:
|
|||
steps:
|
||||
- uses: https://code.forgejo.org/actions/checkout@v4
|
||||
|
||||
- name: Flutter-SDK-Cache
|
||||
id: flutter-cache
|
||||
uses: https://code.forgejo.org/actions/cache@v4
|
||||
with:
|
||||
path: ${{ env.FLUTTER_HOME }}
|
||||
key: flutter-${{ env.FLUTTER_VERSION }}-node22.12-bookworm
|
||||
|
||||
- name: Flutter installieren
|
||||
run: |
|
||||
if [ ! -x "$FLUTTER_HOME/bin/flutter" ]; then
|
||||
rm -rf "$FLUTTER_HOME"
|
||||
git clone --depth 1 --branch "$FLUTTER_VERSION" https://github.com/flutter/flutter.git "$FLUTTER_HOME"
|
||||
fi
|
||||
echo "$FLUTTER_HOME/bin" >> "$GITHUB_PATH"
|
||||
export PATH="$FLUTTER_HOME/bin:$PATH"
|
||||
export CI=true
|
||||
flutter config --no-analytics --enable-web
|
||||
flutter --version
|
||||
flutter precache --web
|
||||
working-directory: .
|
||||
|
||||
- name: Pub-Cache
|
||||
uses: https://code.forgejo.org/actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/.pub-cache
|
||||
key: pub-${{ hashFiles('app/pubspec.lock') }}
|
||||
restore-keys: pub-
|
||||
key: pub-${{ env.FLUTTER_VERSION }}-${{ hashFiles('app/pubspec.lock') }}
|
||||
restore-keys: pub-${{ env.FLUTTER_VERSION }}-
|
||||
|
||||
- name: Abhängigkeiten (erzeugt auch gen-l10n)
|
||||
run: flutter pub get
|
||||
|
|
@ -61,7 +86,7 @@ jobs:
|
|||
web-build:
|
||||
runs-on: docker
|
||||
container:
|
||||
image: ghcr.io/cirruslabs/flutter:3.47.9
|
||||
image: node:22.12-bookworm # gepinnt; enthält git, curl, unzip, xz und Node (für JS-Actions)
|
||||
env:
|
||||
PUB_CACHE: ${{ github.workspace }}/.pub-cache
|
||||
defaults:
|
||||
|
|
@ -70,12 +95,33 @@ jobs:
|
|||
steps:
|
||||
- uses: https://code.forgejo.org/actions/checkout@v4
|
||||
|
||||
- name: Flutter-SDK-Cache
|
||||
id: flutter-cache
|
||||
uses: https://code.forgejo.org/actions/cache@v4
|
||||
with:
|
||||
path: ${{ env.FLUTTER_HOME }}
|
||||
key: flutter-${{ env.FLUTTER_VERSION }}-node22.12-bookworm
|
||||
|
||||
- name: Flutter installieren
|
||||
run: |
|
||||
if [ ! -x "$FLUTTER_HOME/bin/flutter" ]; then
|
||||
rm -rf "$FLUTTER_HOME"
|
||||
git clone --depth 1 --branch "$FLUTTER_VERSION" https://github.com/flutter/flutter.git "$FLUTTER_HOME"
|
||||
fi
|
||||
echo "$FLUTTER_HOME/bin" >> "$GITHUB_PATH"
|
||||
export PATH="$FLUTTER_HOME/bin:$PATH"
|
||||
export CI=true
|
||||
flutter config --no-analytics --enable-web
|
||||
flutter --version
|
||||
flutter precache --web
|
||||
working-directory: .
|
||||
|
||||
- name: Pub-Cache
|
||||
uses: https://code.forgejo.org/actions/cache@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/.pub-cache
|
||||
key: pub-${{ hashFiles('app/pubspec.lock') }}
|
||||
restore-keys: pub-
|
||||
key: pub-${{ env.FLUTTER_VERSION }}-${{ hashFiles('app/pubspec.lock') }}
|
||||
restore-keys: pub-${{ env.FLUTTER_VERSION }}-
|
||||
|
||||
- name: Abhängigkeiten
|
||||
run: flutter pub get
|
||||
|
|
|
|||
Loading…
Reference in a new issue