From 33dd9d2c456ee6f8eace275562f9fefb08e3b872 Mon Sep 17 00:00:00 2001 From: Thatsaphorn Atchariyaphap Date: Sun, 21 Sep 2025 00:45:13 +0200 Subject: [PATCH] Refactor GitLab CI: Add reusable Flutter job template and optimize pipeline structure. --- finlog_app/.gitlab-ci.yml | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/finlog_app/.gitlab-ci.yml b/finlog_app/.gitlab-ci.yml index 2cdbc5a..44bbd16 100644 --- a/finlog_app/.gitlab-ci.yml +++ b/finlog_app/.gitlab-ci.yml @@ -1,4 +1,8 @@ -default: +stages: + - prepare + - test + +.flutter_job: # Hidden Template image: ghcr.io/cirruslabs/flutter:3.35.4 variables: PUB_CACHE: "$CI_PROJECT_DIR/.pub-cache" @@ -10,30 +14,30 @@ default: - finlog_app/.dart_tool/ - finlog_app/app/.dart_tool/ - finlog_app/fluttery/.dart_tool/ - -stages: - - prepare - - test + before_script: + - cd finlog_app + - flutter --version # 1) Einmal pub get im Workspace-Root prepare_flutter_workspace: stage: prepare + extends: .flutter_job script: - - cd finlog_app - - flutter --version - flutter pub get -# 2) Tests PARALLEL (beide hängen nur von prepare ab) +# 2) Tests parallel (beide brauchen nur prepare) fluttery_test: stage: test - needs: ["prepare_flutter_workspace"] + extends: .flutter_job + needs: [ "prepare_flutter_workspace" ] script: - - cd finlog_app/fluttery + - cd fluttery - flutter test app_test: stage: test - needs: ["prepare_flutter_workspace"] + extends: .flutter_job + needs: [ "prepare_flutter_workspace" ] script: - - cd finlog_app/app + - cd app - flutter test