2024-04-03 14:37:06 +00:00
|
|
|
name: Build
|
2024-04-03 14:25:24 +00:00
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches: ["master"]
|
|
|
|
pull_request:
|
|
|
|
branches: ["master"]
|
|
|
|
|
|
|
|
jobs:
|
2024-04-26 04:22:13 +00:00
|
|
|
build-windows:
|
2024-04-03 14:25:24 +00:00
|
|
|
runs-on: [windows-latest]
|
|
|
|
|
|
|
|
steps:
|
2024-04-03 14:37:06 +00:00
|
|
|
|
2024-04-03 14:46:00 +00:00
|
|
|
- name: Checkout code
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
2024-04-03 14:37:06 +00:00
|
|
|
- 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:
|
2024-04-04 08:40:01 +00:00
|
|
|
python-version: '3.11'
|
2024-04-03 14:37:06 +00:00
|
|
|
cache: 'pip' # caching pip dependencies
|
|
|
|
|
|
|
|
- name: Install pyAudio wheel
|
2024-04-04 08:42:20 +00:00
|
|
|
run: pip install pyaudio
|
2024-04-03 14:37:06 +00:00
|
|
|
|
|
|
|
- name: Install other dependencies
|
|
|
|
run: pip install -r requirements.txt
|
2024-04-03 14:46:00 +00:00
|
|
|
|
|
|
|
- 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
|
2024-04-03 15:10:05 +00:00
|
|
|
|
|
|
|
- name: Upload Artifact
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
with:
|
2024-04-26 04:22:13 +00:00
|
|
|
name: horus-gui_WIN64.zip
|
2024-04-03 15:10:05 +00:00
|
|
|
path: dist/horus-gui.exe
|
|
|
|
retention-days: 2
|
2024-04-26 04:22:13 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2024-04-26 04:30:02 +00:00
|
|
|
- name: Install Homebrew dependencies
|
|
|
|
run: brew install portaudio
|
|
|
|
|
2024-04-26 04:22:13 +00:00
|
|
|
- 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
|
2024-04-26 04:35:13 +00:00
|
|
|
run: pyinstaller horus-gui_osx_runner.spec
|
2024-04-26 04:22:13 +00:00
|
|
|
|
2024-04-26 04:52:54 +00:00
|
|
|
- name: Create the DMG file
|
|
|
|
run: hdiutil create -format UDZO -srcfolder dist/horus-gui.app dist/horus-gui_OSX-M1.dmg
|
|
|
|
|
2024-04-26 04:22:13 +00:00
|
|
|
- name: Upload Artifact
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
with:
|
2024-04-26 05:02:07 +00:00
|
|
|
name: horus-gui_OSX-M1.zip
|
2024-04-26 04:52:54 +00:00
|
|
|
path: dist/horus-gui_OSX-M1.dmg
|
2024-04-26 05:02:07 +00:00
|
|
|
retention-days: 2
|
|
|
|
|
2024-04-26 05:14:56 +00:00
|
|
|
# Currently having issues with portaudio and these builds...
|
2024-09-19 13:28:57 +00:00
|
|
|
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
|
2024-04-26 05:02:07 +00:00
|
|
|
|
2024-09-19 13:28:57 +00:00
|
|
|
- name: Install pyAudio wheel
|
|
|
|
run: pip install pyaudio
|
2024-04-26 05:02:07 +00:00
|
|
|
|
2024-09-19 13:28:57 +00:00
|
|
|
- name: Install other dependencies
|
|
|
|
run: pip install -r requirements.txt
|
2024-04-26 05:02:07 +00:00
|
|
|
|
2024-09-19 13:28:57 +00:00
|
|
|
- name: Install pyinstaller
|
|
|
|
run: pip install pyinstaller
|
2024-04-26 05:02:07 +00:00
|
|
|
|
2024-09-19 13:28:57 +00:00
|
|
|
- name: Prep file locations
|
|
|
|
shell: bash
|
|
|
|
run: |
|
|
|
|
mkdir -p dist
|
|
|
|
cp horusdemodlib/build/src/libhorus.dylib .
|
2024-04-26 05:02:07 +00:00
|
|
|
|
2024-09-19 13:28:57 +00:00
|
|
|
- name: Run pyinstaller
|
|
|
|
run: pyinstaller horus-gui_osx_runner.spec
|
2024-04-26 05:02:07 +00:00
|
|
|
|
2024-09-19 13:28:57 +00:00
|
|
|
- name: Create the DMG file
|
|
|
|
run: hdiutil create -format UDZO -srcfolder dist/horus-gui.app dist/horus-gui_OSX-Intel.dmg
|
2024-04-26 05:02:07 +00:00
|
|
|
|
2024-09-19 13:28:57 +00:00
|
|
|
- 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
|