perf: optimize container startup and CI pipeline
CI / Test (pull_request) Failing after 11s
CI / Build Android (pull_request) Skipped
CI / Build iOS (pull_request) Skipped
CI / Lint (pull_request) Successful in 19m44s

- Dockerfile: use Flutter tarball instead of git clone (~150MB vs 500MB+)
- Dockerfile: split into independent layers for better caching
- Dockerfile: use JRE instead of JDK, remove unnecessary packages
- devcontainer.json: remove venv/pip/claude from postCreateCommand
- ci.yml: remove redundant analyze/test in build-android job
- ci.yml: run lint and test in parallel (no dependency chain)

Estimated impact: 40min -> ~5-8min first build, ~2-3min cached
This commit is contained in:
robot committed 2026-08-02 22:00:06 +00:00
1 parent 7747ea194c
commit 07d5290b67
3 files changed
+56 -33

No files matched your search

+1 -8
View File
@@ -47,11 +47,10 @@ jobs:
run: dart format lib/ test/
# ── Stage 2: Unit & widget tests ─────────────────────────────────
# ── Stage 1: Unit & widget tests (parallel with lint) ────────────
test:
name: Test
runs-on: ubuntu-latest
needs: [lint]
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -129,12 +128,6 @@ jobs:
- name: Generate stubs (lint gate support)
run: python3 ci_stub_gen.py
- name: Analyze (gate before build)
run: flutter analyze --fatal-warnings
- name: Run tests (gate before build)
run: flutter test --reporter=expanded
# Optional: run whitelabel build script to regenerate lib/generated/
# Skip gracefully if theme.json is missing or script fails
- name: Run whitelabel build script