LibreVNA/.github/workflows/Build.yml
2021-04-10 12:10:57 +02:00

136 lines
3.4 KiB
YAML

name: Build
on:
push:
branches:
- master
- librevna-rename
pull_request:
branches:
- master
jobs:
PC_Application_Ubuntu:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libusb-1.0-0-dev qt5-default qt5-qmake qtbase5-dev
- name: Build application
run: |
cd Software/PC_Application
qmake
make -j9
shell: bash
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: GUI_Ubuntu
path: Software/PC_Application/LibreVNA-GUI
PC_Application_Windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '5.15.1'
arch: 'win64_mingw81'
- name: Download libusb
run: |
curl -o libusb.7z -L https://github.com/libusb/libusb/releases/download/v1.0.23/libusb-1.0.23.7z
7z x libusb.7z -r -olibusb
Xcopy /E /I /Y libusb\include ..\Qt\5.15.1\mingw81_64\include
Xcopy /E /I /Y libusb\MinGW64\static Software\PC_Application
shell: cmd
- name: Build application
run: |
cd Software/PC_Application
qmake
make -j9
shell: cmd
- name: Deploy application
run: |
cd Software/PC_Application/release
del *.o *.cpp
windeployqt.exe .
copy ..\..\..\..\Qt\5.15.1\mingw81_64\bin\libwinpthread-1.dll .
copy ..\..\..\..\Qt\5.15.1\mingw81_64\bin\libgcc_s_seh-1.dll .
copy "..\..\..\..\Qt\5.15.1\mingw81_64\bin\libstdc++-6.dll" .
copy ..\..\..\..\Qt\5.15.1\mingw81_64\bin\Qt5OpenGL.dll .
shell: cmd
- name: Upload
uses: actions/upload-artifact@v2
with:
name: Application_Windows
path: Software/PC_Application/release
PC_Application_OSX:
runs-on: macos-10.15
steps:
- uses: actions/checkout@v1
- name: Install dependencies
run: |
brew install qt libusb
- name: Set Environment
run: |
echo "/usr/local/opt/qt/bin" >> $GITHUB_PATH
- name: Build application
run: |
cd Software/PC_Application
qmake
make -j9
macdeployqt LibreVNA-GUI.app
zip -ry LibreVNA-GUI-app.zip LibreVNA-GUI.app
shell: bash
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: Application_OSX
path: Software/PC_Application/LibreVNA-GUI.zip
Embedded_Firmware:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- name: Install toolchain
run: |
sudo apt-get install -y gcc-arm-none-eabi binutils-arm-none-eabi
- name: Build application
run: |
cd Software/VNA_embedded
make -j9
cp build/VNA_embedded.elf ../../
shell: bash
- name: Combine with FPGA bitstream
run: |
python3 AssembleFirmware.py
shell: bash
- name: Upload
uses: actions/upload-artifact@v2
with:
name: EmbeddedFirmware
path: |
VNA_embedded.elf
combined.vnafw