Skip to content

added workflow to release #6

added workflow to release

added workflow to release #6

Workflow file for this run

name: Build and Release Standalone GUI
on:
push:
tags:
- 'v*'
jobs:
generate-release-notes:
runs-on: ubuntu-latest
outputs:
changelog: ${{ steps.notes.outputs.changelog }}
steps:
- uses: actions/checkout@v4
- id: notes
run: |
echo "changelog=$(git log -20 --pretty=format:'* %s' | sed ':a;N;$!ba;s/\n/%0A/g')" >> $GITHUB_OUTPUT
build-windows:
needs: generate-release-notes
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Install requirements
run: |
python -m pip install --upgrade pip
pip install pyinstaller pyqt6 opencv-python
- name: Build exe
run: pyinstaller --onefile --windowed osl_visualizer/main.py --add-data "osl_visualizer/ui;ui"
- name: Rename binary
run: move dist\\main.exe dist\\OSL-GUI-win.exe
- name: Upload Release Asset
uses: softprops/action-gh-release@v2
with:
files: dist/OSL-GUI-win.exe
tag_name: ${{ github.ref_name }}
body: ${{ needs.generate-release-notes.outputs.changelog }}
build-macos:
needs: generate-release-notes
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Install requirements
run: |
python -m pip install --upgrade pip
pip install pyinstaller pyqt6 opencv-python
- name: Build app
run: pyinstaller --onefile --windowed osl_visualizer/main.py --add-data "osl_visualizer/ui:ui"
- name: Rename binary
run: mv dist/main dist/OSL-GUI-mac
- name: Upload Release Asset
uses: softprops/action-gh-release@v2
with:
files: dist/main
tag_name: ${{ github.ref_name }}
body: ${{ needs.generate-release-notes.outputs.changelog }}
build-linux:
needs: generate-release-notes
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Install requirements
run: |
sudo apt-get update
sudo apt-get install -y libgl1 libglib2.0-0
python -m pip install --upgrade pip
pip install pyinstaller pyqt6 opencv-python
- name: Build binary
run: pyinstaller --onefile --windowed osl_visualizer/main.py --add-data "osl_visualizer/ui:ui"
- name: Rename binary
run: mv dist/main dist/OSL-GUI-linux
- name: Upload Release Asset
uses: softprops/action-gh-release@v2
with:
files: dist/OSL-GUI-linux
tag_name: ${{ github.ref_name }}
body: ${{ needs.generate-release-notes.outputs.changelog }}
permissions:
contents: write