Move project, add simple test

This commit is contained in:
Jan Käberich 2022-10-01 17:10:34 +02:00
parent fc1d006edd
commit a58b705f08
762 changed files with 266 additions and 249581 deletions

View file

@ -4,12 +4,34 @@ on:
push:
branches:
- master
- embedded_firmware_ci
- compoundDevice
pull_request:
branches:
- master
jobs:
Tests:
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 Tests
run: |
cd Software/PC_Application/LibreVNA-Test
qmake LibreVNA-Test.pro
make -j9
shell: bash
- name: Run Tests
run: |
cd Software/PC_Application/LibreVNA-Test
./LibreVNA-Test
PC_Application_Ubuntu:
runs-on: ubuntu-18.04
steps:
@ -27,7 +49,7 @@ jobs:
- name: Get app version
id: id_version
run: |
cd Software/PC_Application
cd Software/PC_Application/LibreVNA-GUI
fw_major=`grep -oP '(?<=FW_MAJOR=)[0-9]+' LibreVNA-GUI.pro`
fw_minor=`grep -oP '(?<=FW_MINOR=)[0-9]+' LibreVNA-GUI.pro`
fw_patch=`grep -oP '(?<=FW_PATCH=)[0-9]+' LibreVNA-GUI.pro`
@ -35,7 +57,7 @@ jobs:
- name: Build application
run: |
cd Software/PC_Application
cd Software/PC_Application/LibreVNA-GUI
qmake LibreVNA-GUI.pro
make -j9
shell: bash
@ -46,7 +68,7 @@ jobs:
uses: actions/upload-artifact@v2
with:
name: LibreVNA-GUI-Ubuntu-${{env.LIBREVNA_VERSION}}
path: Software/PC_Application/LibreVNA-GUI
path: Software/PC_Application/LibreVNA-GUI/LibreVNA-GUI
PC_Application_Windows:
runs-on: windows-2019
@ -65,7 +87,7 @@ jobs:
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
Xcopy /E /I /Y libusb\MinGW64\static Software\PC_Application\LibreVNA-GUI
shell: cmd
- name: Get build timestamp
@ -77,7 +99,7 @@ jobs:
id: id_version
shell: msys2 {0}
run: |
cd Software/PC_Application
cd Software/PC_Application/LibreVNA-GUI
fw_major=`grep -oP '(?<=FW_MAJOR=)[0-9]+' LibreVNA-GUI.pro`
fw_minor=`grep -oP '(?<=FW_MINOR=)[0-9]+' LibreVNA-GUI.pro`
fw_patch=`grep -oP '(?<=FW_PATCH=)[0-9]+' LibreVNA-GUI.pro`
@ -85,14 +107,14 @@ jobs:
- name: Build application
run: |
cd Software/PC_Application
cd Software/PC_Application/LibreVNA-GUI
qmake LibreVNA-GUI.pro
make -j9
shell: cmd
- name: Deploy application
run: |
cd Software/PC_Application/release
cd Software/PC_Application/LibreVNA-GUI/release
del *.o *.cpp
windeployqt.exe .
copy ..\..\..\..\Qt\5.15.1\mingw81_64\bin\libwinpthread-1.dll .
@ -107,7 +129,7 @@ jobs:
LIBREVNA_VERSION: "${{steps.id_version.outputs.app_version}}"
with:
name: GUI_Windows-${{env.LIBREVNA_VERSION}}
path: Software/PC_Application/release
path: Software/PC_Application/LibreVNA-GUI/release
PC_Application_OSX:
runs-on: macos-10.15
@ -129,7 +151,7 @@ jobs:
- name: Get app version
id: id_version
run: |
cd Software/PC_Application
cd Software/PC_Application/LibreVNA-GUI
fw_major=`pcregrep -o '(?<=FW_MAJOR=)[0-9]+' LibreVNA-GUI.pro`
fw_minor=`pcregrep -o '(?<=FW_MINOR=)[0-9]+' LibreVNA-GUI.pro`
fw_patch=`pcregrep -o '(?<=FW_PATCH=)[0-9]+' LibreVNA-GUI.pro`
@ -137,7 +159,7 @@ jobs:
- name: Build application
run: |
cd Software/PC_Application
cd Software/PC_Application/LibreVNA-GUI
qmake LibreVNA-GUI.pro
make -j9
macdeployqt LibreVNA-GUI.app
@ -150,7 +172,7 @@ jobs:
uses: actions/upload-artifact@v2
with:
name: LibreVNA-GUI-OSX-${{env.LIBREVNA_VERSION}}
path: Software/PC_Application/LibreVNA-GUI.zip
path: Software/PC_Application/LibreVNA-GUI/LibreVNA-GUI.zip
Embedded_Firmware:
runs-on: ubuntu-20.04

View file

@ -1,222 +0,0 @@
name: Upload release for tag stable
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
jobs:
PC_Application_Ubuntu:
runs-on: ubuntu-18.04
outputs:
upload_url: ${{ steps.bump_release.outputs.upload_url }}
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 zip
- name: Get app version
id: id_version
run: |
cd Software/PC_Application
fw_major=`grep -oP '(?<=FW_MAJOR=)[0-9]+' LibreVNA-GUI.pro`
fw_minor=`grep -oP '(?<=FW_MINOR=)[0-9]+' LibreVNA-GUI.pro`
fw_patch=`grep -oP '(?<=FW_PATCH=)[0-9]+' LibreVNA-GUI.pro`
echo "::set-output name=app_version::v$fw_major.$fw_minor.$fw_patch"
- name: Build application
run: |
cd Software/PC_Application
qmake LibreVNA-GUI.pro
make -j9
zip LibreVNA-GUI.zip LibreVNA-GUI
shell: bash
- name: Bump release page
id: bump_release
uses: actions/create-release@v1
env:
LIBREVNA_VERSION: "${{steps.id_version.outputs.app_version}}"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{env.LIBREVNA_VERSION}}
release_name: ${{env.LIBREVNA_VERSION}}
body: |
See [CHANGELOG](https://github.com/${{github.repository}}/blob/${{env.LIBREVNA_VERSION}}/CHANGELOG.md) for more information.
draft: false
prerelease: false
- name: 'Upload release asset'
uses: actions/upload-release-asset@v1
env:
LIBREVNA_VERSION: "${{steps.id_version.outputs.app_version}}"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.bump_release.outputs.upload_url }}
asset_path: ./Software/PC_Application/LibreVNA-GUI.zip
asset_name: LibreVNA-GUI-Ubuntu-${{env.LIBREVNA_VERSION}}.zip
asset_content_type: application/tar+gzip
PC_Application_Windows:
needs: PC_Application_Ubuntu
runs-on: windows-2019
steps:
- uses: actions/checkout@v1
- uses: msys2/setup-msys2@v2
- 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: Get app version
id: id_version
shell: msys2 {0}
run: |
cd Software/PC_Application
fw_major=`grep -oP '(?<=FW_MAJOR=)[0-9]+' LibreVNA-GUI.pro`
fw_minor=`grep -oP '(?<=FW_MINOR=)[0-9]+' LibreVNA-GUI.pro`
fw_patch=`grep -oP '(?<=FW_PATCH=)[0-9]+' LibreVNA-GUI.pro`
echo "::set-output name=app_version::v$fw_major.$fw_minor.$fw_patch"
- name: Build application
run: |
cd Software/PC_Application
qmake LibreVNA-GUI.pro
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: Zip app
shell: cmd
env:
LIBREVNA_VERSION: "${{steps.id_version.outputs.app_version}}"
run: |
7z a LibreVNA-GUI_Windows-${{env.LIBREVNA_VERSION}}.zip ./Software/PC_Application/release
- name: 'Upload release asset'
uses: actions/upload-release-asset@v1
env:
LIBREVNA_VERSION: "${{steps.id_version.outputs.app_version}}"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.PC_Application_Ubuntu.outputs.upload_url }}
asset_path: ./LibreVNA-GUI_Windows-${{env.LIBREVNA_VERSION}}.zip
asset_name: LibreVNA-GUI_Windows-${{env.LIBREVNA_VERSION}}.zip
asset_content_type: application/tar+gzip
PC_Application_OSX:
needs: PC_Application_Ubuntu
runs-on: macos-10.15
steps:
- uses: actions/checkout@v1
- name: Install dependencies
run: |
brew install qt@5 libusb
- name: Set Environment
run: |
echo "/usr/local/opt/qt@5/bin" >> $GITHUB_PATH
- name: Get app version
id: id_version
run: |
cd Software/PC_Application
fw_major=`pcregrep -o '(?<=FW_MAJOR=)[0-9]+' LibreVNA-GUI.pro`
fw_minor=`pcregrep -o '(?<=FW_MINOR=)[0-9]+' LibreVNA-GUI.pro`
fw_patch=`pcregrep -o '(?<=FW_PATCH=)[0-9]+' LibreVNA-GUI.pro`
echo "::set-output name=app_version::v$fw_major.$fw_minor.$fw_patch"
- name: Build application
run: |
cd Software/PC_Application
qmake LibreVNA-GUI.pro
make -j9
macdeployqt LibreVNA-GUI.app
zip -ry LibreVNA-GUI.zip LibreVNA-GUI.app
shell: bash
- name: 'Upload release asset'
uses: actions/upload-release-asset@v1
env:
LIBREVNA_VERSION: "${{steps.id_version.outputs.app_version}}"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.PC_Application_Ubuntu.outputs.upload_url }}
asset_path: ./Software/PC_Application/LibreVNA-GUI.zip
asset_name: LibreVNA-GUI-OSX-${{env.LIBREVNA_VERSION}}.zip
asset_content_type: application/tar+gzip
Embedded_Firmware:
needs: PC_Application_Ubuntu
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: Get app version
id: id_version
run: |
cd Software/VNA_embedded
fw_major=`grep -oP '(?<=FW_MAJOR=)[0-9]+' Makefile`
fw_minor=`grep -oP '(?<=FW_MINOR=)[0-9]+' Makefile`
fw_patch=`grep -oP '(?<=FW_PATCH=)[0-9]+' Makefile`
hw_revision=`grep "DHW_REVISION=" Makefile | sed "s/-DHW_REVISION=\"'//" | sed "sr'\" [\]rr"`
echo "::set-output name=app_version::hw-rev-$hw_revision-v$fw_major.$fw_minor.$fw_patch"
- 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: Zip firmware
env:
LIBREVNA_VERSION: "${{steps.id_version.outputs.app_version}}"
run: |
zip EmbeddedFirmware-${{env.LIBREVNA_VERSION}}.zip VNA_embedded.elf combined.vnafw
shell: bash
- name: 'Upload release asset'
uses: actions/upload-release-asset@v1
env:
LIBREVNA_VERSION: "${{steps.id_version.outputs.app_version}}"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.PC_Application_Ubuntu.outputs.upload_url }}
asset_path: ./EmbeddedFirmware-${{env.LIBREVNA_VERSION}}.zip
asset_name: EmbeddedFirmware-${{env.LIBREVNA_VERSION}}.zip
asset_content_type: application/tar+gzip