FreeDATA/.github/workflows/build_nsis_bundle.yml

69 lines
1.9 KiB
YAML

name: Build and Release NSIS Installer
on: [push]
jobs:
build-and-release:
runs-on: windows-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Electron Builder
working-directory: gui
run: |
npm i
npm run build
- name: LIST ALL FILES
run: ls -R
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- uses: robinraju/release-downloader@v1.9
with:
repository: "Hamlib/Hamlib"
fileName: " hamlib-w64-*.zip"
latest: true
extract: true
out-file-path: "modem/lib/hamlib/"
- name: Build binaries
working-directory: modem
run: |
python3 -m nuitka --remove-output --assume-yes-for-downloads --follow-imports --include-data-dir=lib=lib --include-data-files=lib/codec2/*=lib/codec2/ --include-data-files=config.ini.example=config.ini --standalone server.py --output-filename=freedata-server
- name: LIST ALL FILES
run: ls -R
- name: Create installer
uses: joncloud/makensis-action@v4.1
with:
script-file: "freedata-nsis-config.nsi"
arguments: '/V3'
- name: LIST ALL FILES
run: ls -R
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: 'FreeDATA-Installer'
path: ./FreeDATA-Installer.exe
- name: Upload Installer to Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/v')
with:
draft: true
files: ./FreeDATA-Installer.exe
tag_name: ${{ github.ref_name }}
name: 'FreeDATA-Installer-${{ github.ref_name }}'