diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index d55f85a..0c04849 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -7,7 +7,7 @@ on: branches: ["master"] jobs: - build: + build-windows: runs-on: [windows-latest] steps: @@ -59,6 +59,59 @@ jobs: - name: Upload Artifact uses: actions/upload-artifact@v4 with: - name: horus-gui.zip + 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 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.spec + + - name: Upload Artifact + uses: actions/upload-artifact@v4 + with: + name: horus-gui_OSX-M1.zip + path: dist/horus-gui.app + retention-days: 2 \ No newline at end of file