2 Commits

Author SHA1 Message Date
66883b92af Update Gradle to 8.9.3, Sdk to 35, Java to 17 and Fix 2025-07-09 15:04:13 +02:00
3a8dd3ca09 Add CI workflow 2025-07-09 15:04:13 +02:00

View File

@ -6,6 +6,10 @@ on:
tag: tag:
description: 'Nom du tag (ex: v1.2.3)' description: 'Nom du tag (ex: v1.2.3)'
required: true required: true
branche:
description: 'Branche cible (ex: master)'
default: 'master'
required: true
build_apk: build_apk:
description: 'Compiler et publier lAPK ?' description: 'Compiler et publier lAPK ?'
required: true required: true
@ -29,23 +33,11 @@ jobs:
- name: 🔧 Préparation de Git (tags) - name: 🔧 Préparation de Git (tags)
run: git fetch --tags run: git fetch --tags
- name: 🏷️ Créer le tag si nécessaire
run: |
TAG="${{ github.event.inputs.tag }}"
if git rev-parse "$TAG" >/dev/null 2>&1; then
echo "Le tag $TAG existe déjà, pas besoin de le créer."
else
git config user.name "github-actions"
git config user.email "github-actions@github.com"
git tag "$TAG"
git push origin "$TAG"
fi
- name: 🔖 Détection du tag précédent - name: 🔖 Détection du tag précédent
id: tag-precedent id: tag-precedent
run: | run: |
TARGET_TAG="${{ github.event.inputs.tag }}" CURRENT_TAG="${{ github.event.inputs.tag }}"
TAGS=$(git tag --sort=creatordate) TAGS=$(git tag --sort=-creatordate)
if [ -z "$TAGS" ]; then if [ -z "$TAGS" ]; then
echo "Aucun tag existant détecté." echo "Aucun tag existant détecté."
@ -54,16 +46,19 @@ jobs:
fi fi
PREV_TAG="" PREV_TAG=""
FOUND=false
for tag in $TAGS; do for tag in $TAGS; do
if [ "$tag" != "$TARGET_TAG" ]; then if [ "$FOUND" = true ]; then
PREV_TAG=$tag PREV_TAG=$tag
else
break break
fi fi
if [ "$tag" = "$CURRENT_TAG" ]; then
FOUND=true
fi
done done
echo "tag_precedent=$PREV_TAG" | tee -a $GITHUB_OUTPUT echo "tag_precedent=$PREV_TAG" >> $GITHUB_OUTPUT
- name: 📝 Liste des modifications - name: 📝 Liste des modifications
id: changelog id: changelog
@ -86,6 +81,18 @@ jobs:
echo "$LOG" >> $GITHUB_OUTPUT echo "$LOG" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT
- name: 🏷️ Créer le tag si nécessaire
run: |
TAG="${{ github.event.inputs.tag }}"
if git rev-parse "$TAG" >/dev/null 2>&1; then
echo "Le tag $TAG existe déjà, pas besoin de le créer."
else
git config user.name "github-actions"
git config user.email "github-actions@github.com"
git tag "$TAG"
git push origin "$TAG"
fi
- name: 📦 Création de la version sur Gitea - name: 📦 Création de la version sur Gitea
id: creation-release id: creation-release
env: env:
@ -95,6 +102,7 @@ jobs:
COMMITS: ${{ steps.changelog.outputs.modifications }} COMMITS: ${{ steps.changelog.outputs.modifications }}
run: | run: |
TAG_NAME="${{ github.event.inputs.tag }}" TAG_NAME="${{ github.event.inputs.tag }}"
BRANCHE="${{ github.event.inputs.branche }}"
# Échappement du contenu pour JSON # Échappement du contenu pour JSON
DESCRIPTION="Changelog:"$'\n'"$COMMITS" DESCRIPTION="Changelog:"$'\n'"$COMMITS"
@ -105,6 +113,7 @@ jobs:
-H "Authorization: token $TOKEN" \ -H "Authorization: token $TOKEN" \
-d "{ -d "{
\"tag_name\": \"$TAG_NAME\", \"tag_name\": \"$TAG_NAME\",
\"target\": \"$BRANCHE\",
\"name\": \"Version $TAG_NAME\", \"name\": \"Version $TAG_NAME\",
\"body\": $ESCAPED_DESCRIPTION \"body\": $ESCAPED_DESCRIPTION
}") }")
@ -122,10 +131,8 @@ jobs:
APP_NAME=$(grep 'rootProject.name' settings.gradle | sed -E 's/.*= "(.*)"/\1/') APP_NAME=$(grep 'rootProject.name' settings.gradle | sed -E 's/.*= "(.*)"/\1/')
COMPILE_SDK_VERSION=$(grep 'compileSdk' app/build.gradle | grep -oE '[0-9]+') COMPILE_SDK_VERSION=$(grep 'compileSdk' app/build.gradle | grep -oE '[0-9]+')
{ echo "app_name=$APP_NAME" >> $GITHUB_OUTPUT
echo "app_name=$APP_NAME" echo "compile_sdk_version=$COMPILE_SDK_VERSION" >> $GITHUB_OUTPUT
echo "sdk=$COMPILE_SDK_VERSION"
} | tee -a $GITHUB_OUTPUT
- name: ☕ Configurer Java - name: ☕ Configurer Java
if: ${{ github.event.inputs.build_apk == 'oui' }} if: ${{ github.event.inputs.build_apk == 'oui' }}
@ -138,8 +145,8 @@ jobs:
if: ${{ github.event.inputs.build_apk == 'oui' }} if: ${{ github.event.inputs.build_apk == 'oui' }}
uses: android-actions/setup-android@v3 uses: android-actions/setup-android@v3
with: with:
api-level: ${{ steps.extraire-info-gradle.outputs.sdk }} api-level: ${{ steps.extraire-info-gradle.outputs.compile_sdk_version }}
build-tools-version: ${{ steps.extraire-info-gradle.outputs.sdk }}.0.3 build-tools-version: ${{ steps.extraire-info-gradle.outputs.compile_sdk_version }}.0.3
- name: 🛠️ Compilation de lapplication (APK) - name: 🛠️ Compilation de lapplication (APK)
if: ${{ github.event.inputs.build_apk == 'oui' }} if: ${{ github.event.inputs.build_apk == 'oui' }}