From 543c681c7b3e9b4d3a4da14520e7ec433d7c23f9 Mon Sep 17 00:00:00 2001 From: Nishith Khanna Date: Wed, 25 Mar 2026 20:58:24 +0530 Subject: [PATCH] ci: fix missing jacoco delta in MRs --- .gitlab-ci.yml | 83 +++++++++++++++++++------------------------------- 1 file changed, 31 insertions(+), 52 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b08399350..27ed89ffe 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,57 +39,47 @@ before_script: - export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 - echo user_agent=$USER_AGENT > local.properties -.prod_apk_rules: &prod_apk_rules +.build_rules: &build_rules rules: + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + variables: + CACHE_POLICY: pull + interruptible: true - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + variables: + CACHE_POLICY: pull-push + interruptible: false - if: $CI_COMMIT_TAG + variables: + CACHE_POLICY: pull-push + interruptible: false - when: never - interruptible: false allow_failure: false cache: key: ${CI_PROJECT_ID} paths: - .gradle/ - policy: pull-push + policy: $CACHE_POLICY -.merge_request_rules: &merge_request_rules +.rules_protected_tag_manual: &rules_protected_tag_manual rules: - - if: $CI_PIPELINE_SOURCE == "merge_request_event" - - when: never - interruptible: true - allow_failure: false - cache: - key: ${CI_PROJECT_ID} - paths: - - .gradle/ - policy: pull - -.rules_protected_tag: - rules: &rules_protected_tag - - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' - when: always - - when: never - interruptible: false - allow_failure: false - -.rules_protected_tag_manual: - rules: &rules_protected_tag_manual - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' when: manual - when: never interruptible: false allow_failure: true -.rules_publish: - rules: &rules_publish +.rules_publish: &rules_publish + rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH when: manual - - if: $CI_COMMIT_TAG + - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' when: always interruptible: false - allow_failure: true + allow_failure: false -.build: +build-release: + <<: *build_rules stage: build script: - ./gradlew assembleRelease @@ -97,19 +87,11 @@ before_script: paths: - app/build/outputs/apk/release -build-apk-mr: - extends: .build - <<: *merge_request_rules - -build-apk-prod: - extends: .build - <<: *prod_apk_rules - analysis: stage: code-quality - <<: *merge_request_rules + <<: *build_rules needs: - - build-apk-mr + - build-release script: - ./gradlew detekt lintRelease artifacts: @@ -119,9 +101,9 @@ analysis: tests: stage: code-quality - <<: *merge_request_rules + <<: *build_rules needs: - - build-apk-mr + - build-release script: - ./gradlew testReleaseUnitTest jacocoReleaseReport -PtestAccountName="$testAccountName" -PtestAccountPwd="$testAccountPwd" -PtestServerUrl="$testServerUrl" - python3 scripts/print_instruction_coverage.py app/build/reports/jacoco/jacocoReleaseReport/jacocoReleaseReport.xml @@ -137,9 +119,9 @@ tests: generate-apks: stage: build - <<: *prod_apk_rules + <<: *rules_publish needs: - - job: build-apk-prod + - job: build-release script: - | git clone https://gitlab.e.foundation/e/os/system-apps-update-info.git systemAppsUpdateInfo @@ -155,7 +137,7 @@ generate-apks: create-json-files: stage: publish - rules: *rules_protected_tag + <<: *rules_publish needs: - job: generate-apks script: @@ -170,7 +152,7 @@ create-json-files: create-test-release: stage: publish - rules: *rules_protected_tag_manual + <<: *rules_protected_tag_manual needs: - job: generate-apks - job: create-json-files @@ -179,11 +161,10 @@ create-test-release: - | ./systemAppsUpdateInfo/scripts/create-test-release.sh \ "$APK_PATH" "$TEST_APK" - allow_failure: true create-release: stage: publish - rules: *rules_protected_tag_manual + <<: *rules_protected_tag_manual needs: - job: generate-apks - job: create-json-files @@ -195,23 +176,21 @@ create-release: publish-authdatalib: stage: publish - rules: *rules_publish + <<: *rules_publish script: - ./gradlew :auth-data-lib:build - ./gradlew :auth-data-lib:publish publish-contracts: stage: publish - interruptible: false - rules: *rules_publish + <<: *rules_publish script: - ./gradlew :parental-control-data:build - ./gradlew :parental-control-data:publish publish-installapplib: stage: publish - rules: *rules_publish + <<: *rules_publish script: - ./gradlew :install-app-lib:build - ./gradlew :install-app-lib:publish - -- GitLab