-
Notifications
You must be signed in to change notification settings - Fork 0
42 lines (36 loc) · 1.84 KB
/
Copy pathci.yml
File metadata and controls
42 lines (36 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
name: CI
# Se declenche sur chaque pull request et chaque push sur main -- contrairement au workflow
# Release (qui ne construit que sur un tag vX.Y.Z), celui-ci donne un signal objectif de
# compilation/tests sur les PR (notamment celles de Dependabot) avant toute decision de merge.
# Aucun secret utilise (build debug non signe) : sans risque a executer sur des PR externes.
on:
pull_request:
push:
branches:
- main
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Recuperer le code
uses: actions/checkout@v7
- name: Installer le JDK 17
uses: actions/setup-java@v6
with:
distribution: temurin
java-version: "17"
- name: Configurer Gradle (cache "enhanced", gratuit sur repo public -- desormais le cas)
uses: gradle/actions/setup-gradle@v6
# Les deux modeles, comme release.yml : l'APK de CI n'est pas publie, mais l'y garder
# identique a celui qui l'est evite qu'un probleme d'empaquetage n'apparaisse qu'au moment de
# la publication. codeql.yml, lui, ne telecharge que le premier a dessein : il ne fait
# qu'analyser du code, un asset n'a aucun effet sur l'analyse -- asymetrie voulue, pas un oubli.
- name: Telecharger les modeles MediaPipe (voir README, non versionnes)
run: |
mkdir -p app/src/main/assets
curl -fL -o app/src/main/assets/face_landmarker.task \
https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/latest/face_landmarker.task
curl -fL -o app/src/main/assets/image_embedder.tflite \
https://storage.googleapis.com/mediapipe-models/image_embedder/mobilenet_v3_small/float32/latest/mobilenet_v3_small.tflite
- name: Tests unitaires + build debug + lint
run: ./gradlew testDebugUnitTest assembleDebug lintDebug