Skip to content

Linux Release

Linux Release #31

Workflow file for this run

name: Linux Release
on:
push:
tags:
- v*
workflow_dispatch:
jobs:
release:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install python
run: |
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt install -y python3.11 python3-pip python3.11-venv \
python3.11-dev \
'^libxcb.*-dev' libx11-xcb-dev \
libglu1-mesa-dev libxrender-dev libxi-dev \
libxkbcommon-dev libxkbcommon-x11-dev
- name: Install dependencies and pyinstall
run: |
python3.11 -m venv build
. build/bin/activate
python3 -m pip install pip==24.0 setuptools==69.1.1
pip install -r requirements.txt
pip install PyInstaller==6.4.0 pyinstaller-hooks-contrib==2024.1
- name: Build binary
run: |
. build/bin/activate
python3 setup.py -V
pyinstaller --onefile \
-p src \
-n nanovna-saver \
--add-data "build/lib/python3.*/site-packages/PyQt6/sip.*.so:PyQt6/sip.so" \
--add-data "build/lib/python3.*/site-packages/PyQt6/Qt6:PyQt6/Qt6" \
src/nanovna-saver.py
- name: Archive production artifacts
uses: actions/upload-artifact@v1
with:
name: NanoVNASaver
path: dist/nanovna-saver