real-debrid-downloader/.github/workflows/release.yml
Sucukdeluxe 680a5887d0
Some checks are pending
Build and Release / build (push) Waiting to run
Harden updater and add icon-based installer release pipeline
2026-02-26 23:36:30 +01:00

66 lines
1.9 KiB
YAML

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 }}