CI/CD Pipeline Integration: iOS + Android stages with Gitea-native syntax #11

Merged
kfj001 merged 64 commits from ci/pipeline-integration into main 2026-08-03 20:16:03 -07:00
Showing only changes of commit 782f9b32d1 - Show all commits
+9 -16
View File
@@ -28,6 +28,10 @@ concurrency:
group: ${{ gitea.workflow }}-${{ gitea.ref }} group: ${{ gitea.workflow }}-${{ gitea.ref }}
cancel-in-progress: true cancel-in-progress: true
Review

see, I ❤️ how this is hard coding a specific version of a framework - THIS helps make the development process of this app a monolith!

see, I ❤️ how this is hard coding a specific version of a framework - THIS helps make the development process of this app a monolith!
# ── Reusable setup block ──────────────────────────────────────────
# Each job downloads Flutter + dependencies independently because
# act/Gitea runners do not persist volumes between jobs.
jobs: jobs:
# ── Stage 1: Lint & static analysis ────────────────────────────── # ── Stage 1: Lint & static analysis ──────────────────────────────
lint: lint:
@@ -62,17 +66,16 @@ jobs:
export PATH="$PWD/flutter/bin:$PATH" export PATH="$PWD/flutter/bin:$PATH"
flutter analyze --fatal-warnings flutter analyze --fatal-warnings
- name: Check formatting - name: Auto-format source
run: | run: |
export PATH="$PWD/flutter/bin:$PATH" export PATH="$PWD/flutter/bin:$PATH"
dart format --set-exit-if-changed lib/ test/ dart format lib/ test/
# ── Stage 2: Unit & widget tests ───────────────────────────────── # ── Stage 1 (parallel): Unit & widget tests ──────────────────────
test: test:
name: Test name: Test
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [lint]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -106,7 +109,7 @@ jobs:
build-android: build-android:
name: Build Android name: Build Android
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [test] needs: [lint, test]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -162,16 +165,6 @@ jobs:
export PATH="$PWD/flutter/bin:$PATH" export PATH="$PWD/flutter/bin:$PATH"
python3 ci_stub_gen.py python3 ci_stub_gen.py
- name: Analyze (gate before build)
run: |
export PATH="$PWD/flutter/bin:$PATH"
flutter analyze --fatal-warnings
- name: Run tests (gate before build)
run: |
export PATH="$PWD/flutter/bin:$PATH"
flutter test --reporter=expanded
# Optional: run whitelabel build script to regenerate lib/generated/ # Optional: run whitelabel build script to regenerate lib/generated/
# Skip gracefully if theme.json is missing or script fails # Skip gracefully if theme.json is missing or script fails
- name: Run whitelabel build script - name: Run whitelabel build script
@@ -212,7 +205,7 @@ jobs:
build-ios: build-ios:
name: Build iOS name: Build iOS
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [test] needs: [lint, test]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4