diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml new file mode 100644 index 0000000..8b180c4 --- /dev/null +++ b/.gitea/workflows/release.yaml @@ -0,0 +1,35 @@ +name: Build and Release FLUX Windows +on: + push: + tags: + - 'v*' # Si attiva solo quando crei un tag tipo v1.0.0 + +jobs: + build: + runs-on: windows-native # Richiama esattamente l'etichetta del PC del collega + steps: + - name: Checkout del codice + uses: actions/checkout@v3 + + # Presuppone che Flutter e InnoSetup siano giĆ  nel PATH del PC Windows + - name: Build Flutter + env: + # Limita la compilazione a soli 2 processi paralleli + CMAKE_BUILD_PARALLEL_LEVEL: 2 + run: flutter build windows --release + + - name: Compila Installer Inno Setup + run: | + # Recupera il nome del tag (es. "v1.0.5") ed elimina la prima lettera "v" + $TagVersion = "${{ gitea.ref_name }}".Substring(1) + "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" /DMyAppVersion=$TagVersion "win_installer.iss" + + # Usa un'action standard per caricare il file su Gitea Releases + - name: Upload Release Asset + uses: https://gitea.com/actions/release-action@main + with: + files: "build/windows/installer/FLUX_Setup_x64.exe" + api_key: ${{ secrets.GITEA_TOKEN }} + - name: Pulisci Workspace + if: always() # Esegue questo step anche se la build fallisce + run: Remove-Item -Recurse -Force ./* \ No newline at end of file diff --git a/win_installer.iss b/win_installer.iss index 5f627ac..9bf22d5 100644 --- a/win_installer.iss +++ b/win_installer.iss @@ -1,15 +1,15 @@ [Setup] ; Informazioni di base dell'applicazione AppName=Flux -AppVersion=1.0.0 -VersionInfoVersion=1.0.0 +AppVersion={#MyAppVersion} +VersionInfoVersion={#MyAppVersion} AppPublisher=Catelli DefaultDirName={autopf}\Flux ; DefaultGroupName=Programs ; Cartella di output dell'installer e nome del file generato OutputDir=.\build\windows\installer -OutputBaseFilename=FluxInstaller +OutputBaseFilename=FLUX_Setup_v{#MyAppVersion} ; Compressione e impostazioni grafiche Compression=lzma2/max