v1.12.3: audit expert zero-vuln G1-G16 + dead code #16
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| jobs: | |
| build-and-release: | |
| name: Build signed APK + GitHub Release | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout app | |
| uses: actions/checkout@v4 | |
| with: | |
| path: pdf_tech | |
| - name: Checkout files_tech_core (path dependency) | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: gitubpatrice/files_tech_core | |
| path: files_tech_core | |
| - name: Setup Java 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: 17 | |
| - name: Setup Flutter | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| channel: stable | |
| cache: true | |
| - name: Extract version from tag | |
| id: version | |
| run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT | |
| - name: Decode keystore | |
| env: | |
| KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }} | |
| run: | | |
| echo "$KEYSTORE_BASE64" | base64 -d > pdf_tech/android/app/keystore.jks | |
| ls -la pdf_tech/android/app/keystore.jks | |
| - name: Pub get | |
| working-directory: pdf_tech | |
| run: flutter pub get | |
| # build.gradle.kts de PDF Tech accepte les env vars PDFTECH_* en | |
| # fallback sur key.properties. Plus propre que d'écrire un fichier. | |
| - name: Build APK release (signed) | |
| working-directory: pdf_tech | |
| env: | |
| PDFTECH_KEY_ALIAS: ${{ secrets.KEY_ALIAS }} | |
| PDFTECH_KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} | |
| PDFTECH_STORE_FILE: keystore.jks | |
| PDFTECH_STORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} | |
| run: flutter build apk --release | |
| - name: Rename + SHA256 | |
| id: sha | |
| run: | | |
| SRC=pdf_tech/build/app/outputs/flutter-apk/app-release.apk | |
| DEST=pdf_tech-v${{ steps.version.outputs.VERSION }}.apk | |
| cp "$SRC" "$DEST" | |
| SHA=$(sha256sum "$DEST" | awk '{print $1}') | |
| echo "SHA256=$SHA" >> $GITHUB_OUTPUT | |
| echo "APK_PATH=$DEST" >> $GITHUB_OUTPUT | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: ${{ github.ref_name }} | |
| name: ${{ github.ref_name }} | |
| generate_release_notes: true | |
| body: | | |
| ## Vérification d'intégrité | |
| **APK arm64-v8a** : `${{ steps.sha.outputs.APK_PATH }}` | |
| **SHA-256** : | |
| ``` | |
| ${{ steps.sha.outputs.SHA256 }} | |
| ``` | |
| Vérifiez avec : | |
| ``` | |
| sha256sum pdf_tech-v${{ steps.version.outputs.VERSION }}.apk | |
| ``` | |
| --- | |
| 🤖 Build automatique via GitHub Actions (commit `${{ github.sha }}`) | |
| files: ${{ steps.sha.outputs.APK_PATH }} | |
| - name: Cleanup | |
| if: always() | |
| run: rm -f pdf_tech/android/app/keystore.jks |