Skip to content

Merge pull request #39 from projecthorus/actions_tests #9

Merge pull request #39 from projecthorus/actions_tests

Merge pull request #39 from projecthorus/actions_tests #9

Workflow file for this run

name: Build
on:
push:
branches: ["master"]
pull_request:
branches: ["master"]
jobs:
build-windows:
runs-on: [windows-latest]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Checkout horusdemodlib
uses: actions/checkout@v4
with:
repository: "projecthorus/horusdemodlib"
ref: "master"
path: "horusdemodlib"
- name: Build horusdemodlib
run: |
cd horusdemodlib
mkdir build
cd build
cmake .. -G "MinGW Makefiles"
mingw32-make
- uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip' # caching pip dependencies
- name: Install pyAudio wheel
run: pip install pyaudio
- name: Install other dependencies
run: pip install -r requirements.txt
- name: Install pyinstaller
run: pip install pyinstaller
- name: Prep file locations
shell: bash
run: |
mkdir -p dist
cp horusdemodlib/build/src/libhorus.dll .
cp "C:\Program Files\Git\mingw64\bin\libgcc_s_seh-1.dll" .
cp "C:\Program Files\Git\mingw64\bin\libstdc++-6.dll" .
cp "C:\Program Files\Git\mingw64\bin\libwinpthread-1.dll" .
- name: Run pyinstaller
run: pyinstaller horus-gui_win.spec
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: horus-gui_WIN64.zip
path: dist/horus-gui.exe
retention-days: 2
build-osx:
runs-on: [macos-14]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Checkout horusdemodlib
uses: actions/checkout@v4
with:
repository: "projecthorus/horusdemodlib"
ref: "master"
path: "horusdemodlib"
- name: Build horusdemodlib
run: |
cd horusdemodlib
mkdir build
cd build
cmake ..
make
- uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip' # caching pip dependencies
- name: Install Homebrew dependencies
run: brew install portaudio
- name: Install pyAudio wheel
run: pip install pyaudio
- name: Install other dependencies
run: pip install -r requirements.txt
- name: Install pyinstaller
run: pip install pyinstaller
- name: Prep file locations
shell: bash
run: |
mkdir -p dist
cp horusdemodlib/build/src/libhorus.dylib .
- name: Run pyinstaller
run: pyinstaller horus-gui_osx_runner.spec
- name: Create the DMG file
run: hdiutil create -format UDZO -srcfolder dist/horus-gui.app dist/horus-gui_OSX-M1.dmg
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: horus-gui_OSX-M1.zip
path: dist/horus-gui_OSX-M1.dmg
retention-days: 2
# Currently having issues with portaudio and these builds...
# build-osx-intel:
# runs-on: [macos-13]
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# - name: Checkout horusdemodlib
# uses: actions/checkout@v4
# with:
# repository: "projecthorus/horusdemodlib"
# ref: "master"
# path: "horusdemodlib"
# - name: Build horusdemodlib
# run: |
# cd horusdemodlib
# mkdir build
# cd build
# cmake ..
# make
# - uses: actions/setup-python@v5
# with:
# python-version: '3.11'
# cache: 'pip' # caching pip dependencies
# - name: Install Homebrew dependencies
# run: brew install portaudio
# - name: Install pyAudio wheel
# run: pip install pyaudio
# - name: Install other dependencies
# run: pip install -r requirements.txt
# - name: Install pyinstaller
# run: pip install pyinstaller
# - name: Prep file locations
# shell: bash
# run: |
# mkdir -p dist
# cp horusdemodlib/build/src/libhorus.dylib .
# - name: Run pyinstaller
# run: pyinstaller horus-gui_osx_runner.spec
# - name: Create the DMG file
# run: hdiutil create -format UDZO -srcfolder dist/horus-gui.app dist/horus-gui_OSX-Intel.dmg
# - name: Upload Artifact
# uses: actions/upload-artifact@v4
# with:
# name: horus-gui_OSX-Intel.zip
# path: dist/horus-gui_OSX-Intel.dmg
# retention-days: 2