Refactor GitLab CI: Add reusable Flutter job template and optimize pipeline structure.
This commit is contained in:
@@ -1,4 +1,8 @@
|
|||||||
default:
|
stages:
|
||||||
|
- prepare
|
||||||
|
- test
|
||||||
|
|
||||||
|
.flutter_job: # Hidden Template
|
||||||
image: ghcr.io/cirruslabs/flutter:3.35.4
|
image: ghcr.io/cirruslabs/flutter:3.35.4
|
||||||
variables:
|
variables:
|
||||||
PUB_CACHE: "$CI_PROJECT_DIR/.pub-cache"
|
PUB_CACHE: "$CI_PROJECT_DIR/.pub-cache"
|
||||||
@@ -10,30 +14,30 @@ default:
|
|||||||
- finlog_app/.dart_tool/
|
- finlog_app/.dart_tool/
|
||||||
- finlog_app/app/.dart_tool/
|
- finlog_app/app/.dart_tool/
|
||||||
- finlog_app/fluttery/.dart_tool/
|
- finlog_app/fluttery/.dart_tool/
|
||||||
|
before_script:
|
||||||
stages:
|
- cd finlog_app
|
||||||
- prepare
|
- flutter --version
|
||||||
- test
|
|
||||||
|
|
||||||
# 1) Einmal pub get im Workspace-Root
|
# 1) Einmal pub get im Workspace-Root
|
||||||
prepare_flutter_workspace:
|
prepare_flutter_workspace:
|
||||||
stage: prepare
|
stage: prepare
|
||||||
|
extends: .flutter_job
|
||||||
script:
|
script:
|
||||||
- cd finlog_app
|
|
||||||
- flutter --version
|
|
||||||
- flutter pub get
|
- flutter pub get
|
||||||
|
|
||||||
# 2) Tests PARALLEL (beide hängen nur von prepare ab)
|
# 2) Tests parallel (beide brauchen nur prepare)
|
||||||
fluttery_test:
|
fluttery_test:
|
||||||
stage: test
|
stage: test
|
||||||
|
extends: .flutter_job
|
||||||
needs: [ "prepare_flutter_workspace" ]
|
needs: [ "prepare_flutter_workspace" ]
|
||||||
script:
|
script:
|
||||||
- cd finlog_app/fluttery
|
- cd fluttery
|
||||||
- flutter test
|
- flutter test
|
||||||
|
|
||||||
app_test:
|
app_test:
|
||||||
stage: test
|
stage: test
|
||||||
|
extends: .flutter_job
|
||||||
needs: [ "prepare_flutter_workspace" ]
|
needs: [ "prepare_flutter_workspace" ]
|
||||||
script:
|
script:
|
||||||
- cd finlog_app/app
|
- cd app
|
||||||
- flutter test
|
- flutter test
|
||||||
|
|||||||
Reference in New Issue
Block a user