name: Build and Push Yavsc Apk on: push: branches: - main workflow_dispatch: jobs: apk-deploy: runs-on: ubuntu-latest steps: - name: Checkout du code uses: actions/checkout@v7 with: fetch-depth: 0 # 1. Votre étape de build actuelle (on nomme l'image "postit-android") # --target build-env : on ne veut que le stage de build (qui # contient les artefacts .apk). Sans --target, Docker ciblerait # le DERNIER stage du Dockerfile (blogs-runtime, qui est une # image ASP.NET runtime sans aucun APK à extraire). - name: Build de l'image Docker run: docker build --build-arg ANDROID_TARGET_RID=android-arm64 --target build-env -t postit-android . # 2. EXTRACTION : Créer un conteneur éphémère pour copier l'APK vers l'hôte GitHub - name: Extraire l'APK du conteneur Docker run: | docker create --name extractor postit-android docker cp extractor:/src/src/PostIt/PostIt.Android/bin/Release/net10.0-android/android-arm64/com.CompanyName.PostIt-Signed.apk ./PostIt.Android.apk docker rm extractor - name: Téléverser l'APK en tant qu'Artéfact GitHub uses: actions/upload-artifact@v7 with: name: application-apk-release path: ./PostIt.Android.apk retention-days: 7