name: Build and Release permissions: contents: write on: push: tags: - "v*" jobs: build: runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: "3.11" - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt pip install pyinstaller pillow - name: Prepare release metadata shell: pwsh run: | $version = "${{ github.ref_name }}".TrimStart('v') python scripts/set_version.py $version python scripts/prepare_icon.py - name: Build exe run: | pyinstaller --noconfirm --windowed --onedir --name "Real-Debrid-Downloader" --icon "assets/app_icon.ico" real_debrid_downloader_gui.py - name: Pack release zip shell: pwsh run: | New-Item -ItemType Directory -Path release -Force | Out-Null Compress-Archive -Path "dist/Real-Debrid-Downloader/*" -DestinationPath "Real-Debrid-Downloader-win64.zip" -Force - name: Install Inno Setup shell: pwsh run: | choco install innosetup --no-progress -y - name: Build installer shell: pwsh run: | $version = "${{ github.ref_name }}".TrimStart('v') & "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" "/DMyAppVersion=$version" "/DMySourceDir=..\\dist\\Real-Debrid-Downloader" "/DMyOutputDir=..\\release" "/DMyIconFile=..\\assets\\app_icon.ico" "installer\\RealDebridDownloader.iss" - name: Publish GitHub Release uses: softprops/action-gh-release@v2 with: files: | Real-Debrid-Downloader-win64.zip release/Real-Debrid-Downloader-Setup-*.exe env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}