Une fois GitLab CI configurer, une autre étape peut être l’ajout de badge sur le fichier readme du projet.
Pour cela rendez vous dans le partie Settings => CI /CD puis cliquez sur « Expand » en face de « General pipelines »:
En descendant vous trouverez une section « Test coverage parsing ». il faut utiliser « ^\slines[.]:\s*(\d+.\d+)\% » afin d’extraire la taux de couverture.
Vous pourrez alors rajouter un bagde montrant le taux de couverture de code.
Nous enchainons avec la description du test, les installtion de flutter, android sdk et autres
test:before_script:-apt-get-qqupdate--yes-apt-get-qqinstall--yeswgettarunziplib32stdc++6lib32z1lcov-wget--quiet--output-document=android-sdk.ziphttps://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip-unzip-q-dandroid-sdk-linuxandroid-sdk.zip-mkdir/root/.android-touch/root/.android/repositories.cfg-echoy|android-sdk-linux/tools/bin/sdkmanager"platforms;android-${ANDROID_COMPILE_SDK}">/dev/null-echoy|android-sdk-linux/tools/bin/sdkmanager"platform-tools">/dev/null-echoy|android-sdk-linux/tools/bin/sdkmanager"build-tools;${ANDROID_BUILD_TOOLS}">/dev/null-exportANDROID_HOME=$PWD/android-sdk-linux-exportPATH=$PATH:$PWD/android-sdk-linux/platform-tools/-exportCI='true'# temporarily disable checking for EPIPE error and use yes to accept all licenses-set+opipefail-yes|android-sdk-linux/tools/bin/sdkmanager--licenses-set-opipefail# flutter sdk setup-wget--quiet--output-document=flutter-sdk.tar.xz$FLUTTER_VERSION-tar-xfflutter-sdk.tar.xz-exportPATH=$PATH:$PWD/flutter/bin-echoflutter.sdk=$PWD/flutter>android/local.properties-flutterpackagesget
Code language:YAML(yaml)
Puis la partit test en elle même et la creation d’un artefact contenant les resultat de la couverture de code:
image:openjdk:8-jdkvariables:ANDROID_COMPILE_SDK:"28"ANDROID_BUILD_TOOLS:"28.0.2"ANDROID_SDK_TOOLS:"4333796"FLUTTER_VERSION:"https://storage.googleapis.com/flutter_infra/releases/stable/linux/flutter_linux_v1.12.13+hotfix.5-stable.tar.xz"test:before_script:-apt-get-qqupdate--yes-apt-get-qqinstall--yeswgettarunziplib32stdc++6lib32z1lcov-wget--quiet--output-document=android-sdk.ziphttps://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip-unzip-q-dandroid-sdk-linuxandroid-sdk.zip-mkdir/root/.android-touch/root/.android/repositories.cfg-echoy|android-sdk-linux/tools/bin/sdkmanager"platforms;android-${ANDROID_COMPILE_SDK}">/dev/null-echoy|android-sdk-linux/tools/bin/sdkmanager"platform-tools">/dev/null-echoy|android-sdk-linux/tools/bin/sdkmanager"build-tools;${ANDROID_BUILD_TOOLS}">/dev/null-exportANDROID_HOME=$PWD/android-sdk-linux-exportPATH=$PATH:$PWD/android-sdk-linux/platform-tools/-exportCI='true'# temporarily disable checking for EPIPE error and use yes to accept all licenses-set+opipefail-yes|android-sdk-linux/tools/bin/sdkmanager--licenses-set-opipefail# flutter sdk setup-wget--quiet--output-document=flutter-sdk.tar.xz$FLUTTER_VERSION-tar-xfflutter-sdk.tar.xz-exportPATH=$PATH:$PWD/flutter/bin-echoflutter.sdk=$PWD/flutter>android/local.properties-flutterpackagesgetscript:-fluttertest--coverage-genhtmlcoverage/lcov.info--output=coverageartifacts:paths:-coverage/expire_in:5dayspages:stage:.postscript:-mkdirpublic-rm-Rfpublic/*-mvREADME.mdpublic/README.md-mv-vcoverage/*public/artifacts:paths:-publiconly:-master