Skip to content

v1.12.3: audit expert zero-vuln G1-G16 + dead code #16

v1.12.3: audit expert zero-vuln G1-G16 + dead code

v1.12.3: audit expert zero-vuln G1-G16 + dead code #16

Workflow file for this run

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