From ba7f335b67cafebc7454c730b140b299d50796f5 Mon Sep 17 00:00:00 2001 From: Irene Date: Thu, 27 Aug 2026 23:56:31 +0900 Subject: [PATCH] ci: split into fast analyze + slow release build with path gating analyze job runs on push/PR regardless of changed files (fast check). release-apk job only fires when Dart source, Android, pubspec, or tooling files change on push to master (slow build). workflow_dispatch triggers both jobs unconditionally. Doc-only pushes no longer trigger any CI run. --- .github/workflows/ci.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 96e2259..c986d75 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -3,11 +3,15 @@ name: CI on: push: branches: [ master ] + paths: + - 'lib/**.dart' + - 'test/**.dart' + - 'android/**' + - 'tool/**' + - 'pubspec.yaml' + - 'pubspec.lock' pull_request: branches: [ master ] - # Manual trigger. Worth having on a self-hosted runner: when a run fails for - # reasons outside the repo — the runner was down, a toolchain changed — this - # re-runs it without an empty commit to force one. workflow_dispatch: # Both jobs target a self-hosted runner, by capability rather than by hostname. @@ -47,6 +51,7 @@ jobs: release-apk: name: Release APK runs-on: flutter-android + needs: [analyze] steps: - uses: actions/checkout@v4