actions: increase granularity in artifacts, automate releases
This commit is contained in:
parent
14e2794826
commit
68faa10b62
83
.github/workflows/Build.yml
vendored
83
.github/workflows/Build.yml
vendored
@ -18,24 +18,40 @@ jobs:
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libusb-1.0-0-dev qt5-default qt5-qmake qtbase5-dev
|
||||
|
||||
|
||||
- name: Get build timestamp
|
||||
id: id_date
|
||||
run: echo "::set-output name=timestamp::$(date +%Y-%m-%d-%H-%M-%S)"
|
||||
|
||||
- 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-${{steps.id_date.outputs.timestamp}}"
|
||||
|
||||
- name: Build application
|
||||
run: |
|
||||
cd Software/PC_Application
|
||||
qmake LibreVNA-GUI.pro
|
||||
make -j9
|
||||
shell: bash
|
||||
|
||||
|
||||
- name: Upload artifact
|
||||
env:
|
||||
LIBREVNA_VERSION: "${{steps.id_version.outputs.app_version}}"
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: GUI_Ubuntu
|
||||
name: LibreVNA-GUI-Ubuntu-${{env.LIBREVNA_VERSION}}
|
||||
path: Software/PC_Application/LibreVNA-GUI
|
||||
|
||||
PC_Application_Windows:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: msys2/setup-msys2@v2
|
||||
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v2
|
||||
@ -51,6 +67,21 @@ jobs:
|
||||
Xcopy /E /I /Y libusb\MinGW64\static Software\PC_Application
|
||||
shell: cmd
|
||||
|
||||
- name: Get build timestamp
|
||||
shell: msys2 {0}
|
||||
id: id_date
|
||||
run: echo "::set-output name=timestamp::$(date +%Y-%m-%d-%H-%M-%S)"
|
||||
|
||||
- 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-${{steps.id_date.outputs.timestamp}}"
|
||||
|
||||
- name: Build application
|
||||
run: |
|
||||
cd Software/PC_Application
|
||||
@ -71,8 +102,10 @@ jobs:
|
||||
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v2
|
||||
env:
|
||||
LIBREVNA_VERSION: "${{steps.id_version.outputs.app_version}}"
|
||||
with:
|
||||
name: GUI_Windows
|
||||
name: GUI_Windows-${{env.LIBREVNA_VERSION}}
|
||||
path: Software/PC_Application/release
|
||||
|
||||
PC_Application_OSX:
|
||||
@ -88,6 +121,19 @@ jobs:
|
||||
run: |
|
||||
echo "/usr/local/opt/qt@5/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Get build timestamp
|
||||
id: id_date
|
||||
run: echo "::set-output name=timestamp::$(date +%Y-%m-%d-%H-%M-%S)"
|
||||
|
||||
- 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-${{steps.id_date.outputs.timestamp}}"
|
||||
|
||||
- name: Build application
|
||||
run: |
|
||||
cd Software/PC_Application
|
||||
@ -98,9 +144,11 @@ jobs:
|
||||
shell: bash
|
||||
|
||||
- name: Upload artifact
|
||||
env:
|
||||
LIBREVNA_VERSION: "${{steps.id_version.outputs.app_version}}"
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: GUI_OSX
|
||||
name: LibreVNA-GUI-OSX-${{env.LIBREVNA_VERSION}}
|
||||
path: Software/PC_Application/LibreVNA-GUI.zip
|
||||
|
||||
Embedded_Firmware:
|
||||
@ -111,7 +159,21 @@ jobs:
|
||||
- name: Install toolchain
|
||||
run: |
|
||||
sudo apt-get install -y gcc-arm-none-eabi binutils-arm-none-eabi
|
||||
|
||||
|
||||
- name: Get build timestamp
|
||||
id: id_date
|
||||
run: echo "::set-output name=timestamp::$(date +%Y-%m-%d-%H-%M-%S)"
|
||||
|
||||
- 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-${{steps.id_date.outputs.timestamp}}"
|
||||
|
||||
- name: Build application
|
||||
run: |
|
||||
cd Software/VNA_embedded
|
||||
@ -123,12 +185,13 @@ jobs:
|
||||
run: |
|
||||
python3 AssembleFirmware.py
|
||||
shell: bash
|
||||
|
||||
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v2
|
||||
env:
|
||||
LIBREVNA_VERSION: "${{steps.id_version.outputs.app_version}}"
|
||||
with:
|
||||
name: EmbeddedFirmware
|
||||
name: EmbeddedFirmware-${{env.LIBREVNA_VERSION}}
|
||||
path: |
|
||||
VNA_embedded.elf
|
||||
combined.vnafw
|
||||
|
||||
combined.vnafw
|
222
.github/workflows/Release_tag_stable.yml
vendored
Normal file
222
.github/workflows/Release_tag_stable.yml
vendored
Normal file
@ -0,0 +1,222 @@
|
||||
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-latest
|
||||
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
|
8
CHANGELOG.md
Normal file
8
CHANGELOG.md
Normal file
@ -0,0 +1,8 @@
|
||||
# Changelog
|
||||
|
||||
## v1.1.2
|
||||
|
||||
- Software:
|
||||
- Fix parsing of calibration kit settings
|
||||
|
||||
No changes have been made to the embedded software, updating the firmware on the LibreVNA is not required.
|
Loading…
Reference in New Issue
Block a user