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 aacd6b061d - Show all commits
+19 -38
View File
@@ -22,21 +22,16 @@ jobs:
# ── Stage 1: Lint & static analysis ──────────────────────────────
lint:
name: Lint
runs-on: [self-hosted, linux]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
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!
- name: Setup Flutter
run: |
# Direct Flutter SDK download — subosito/flutter-action queries
# GitHub internal APIs that are unavailable on self-hosted Gitea runners.
curl -fsSL "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.44.8-stable.tar.xz" \
-o flutter.tar.xz
tar -xf flutter.tar.xz
export PATH="$PWD/flutter/bin:$PATH"
flutter --version
echo "$PWD/flutter/bin" >> "$GITHUB_PATH" || echo "$PWD/flutter/bin" >> "$HOME/.env_path"
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- name: Install dependencies
run: flutter pub get
@@ -55,21 +50,17 @@ jobs:
# ── Stage 2: Unit & widget tests ─────────────────────────────────
test:
name: Test
runs-on: [self-hosted, linux]
runs-on: ubuntu-latest
needs: [lint]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Flutter
run: |
# Direct Flutter SDK download — self-hosted Gitea runner (Linux)
curl -fsSL "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.44.8-stable.tar.xz" \
-o flutter.tar.xz
tar -xf flutter.tar.xz
export PATH="$PWD/flutter/bin:$PATH"
flutter --version
echo "$PWD/flutter/bin" >> "$GITHUB_PATH" || echo "$PWD/flutter/bin" >> "$HOME/.env_path"
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- name: Install dependencies
run: flutter pub get
@@ -101,27 +92,17 @@ jobs:
uses: actions/checkout@v4
- name: Setup Java 17
run: |
# Direct Temurin JDK download — actions/setup-java queries GitHub APIs
curl -fsSL "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.12%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.12_7.tar.gz" \
-o jdk.tar.gz
mkdir -p "$HOME/jdk"
tar -xzf jdk.tar.gz -C "$HOME/jdk" --strip-components=1
export JAVA_HOME="$HOME/jdk"
export PATH="$JAVA_HOME/bin:$PATH"
java -version
echo "JAVA_HOME=$JAVA_HOME" >> "$GITHUB_ENV" || export JAVA_HOME="$JAVA_HOME"
echo "$JAVA_HOME/bin" >> "$GITHUB_PATH" || export PATH="$JAVA_HOME/bin:$PATH"
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
cache: gradle
- name: Setup Flutter
run: |
# Direct Flutter SDK download — Linux build runner
curl -fsSL "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.44.8-stable.tar.xz" \
-o flutter.tar.xz
tar -xf flutter.tar.xz
export PATH="$PWD/flutter/bin:$PATH"
flutter --version
echo "$PWD/flutter/bin" >> "$GITHUB_PATH" || echo "$PWD/flutter/bin" >> "$HOME/.env_path"
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- name: Install Android SDK command-line tools
run: |