feat(cpn): support more than just FrSky S.Port telemetry simulation (… #175
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Windows Companion 32-bit | |
on: | |
push: | |
branches: | |
- 'main' | |
tags: | |
- v* | |
paths: | |
- '.github/workflows/win_cpn-32.yml' | |
- 'companion/**' | |
- 'tools/build-companion.sh' | |
workflow_dispatch: | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
CMAKE_GENERATOR: "MSYS Makefiles" | |
QT_VERSION: "5.15.2" | |
MINGW_VERSION: "win32_mingw81" | |
MINGW_PATH: "mingw81_32" | |
jobs: | |
build: | |
# The CMake configure and build commands are platform agnostic and should work equally | |
# well on Windows or Mac. You can convert this to a matrix build if you need | |
# cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: windows-latest | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: msys2/setup-msys2@v2 | |
with: | |
msystem: MINGW32 | |
update: true | |
install: git make curl tar mingw-w64-i686-toolchain | |
- name: Install Dependencies | |
run: | | |
pacman -S --noconfirm mingw-w64-i686-cmake \ | |
mingw-w64-i686-python-pip \ | |
mingw-w64-i686-python-pillow \ | |
mingw-w64-i686-libjpeg-turbo \ | |
mingw-w64-i686-zlib \ | |
mingw-w64-i686-libtiff \ | |
mingw-w64-i686-freetype \ | |
mingw-w64-i686-lcms2 \ | |
mingw-w64-i686-libwebp \ | |
mingw-w64-i686-openjpeg2 \ | |
mingw-w64-i686-libimagequant \ | |
mingw-w64-i686-libraqm \ | |
mingw-w64-i686-SDL2 \ | |
mingw-w64-i686-clang \ | |
mingw-w64-i686-nsis \ | |
mingw-w64-i686-openssl | |
SETUPTOOLS_USE_DISTUTILS=stdlib pip install lz4 | |
python -m pip install clang jinja2 lz4 | |
- name: Download and unpack dfu-util | |
run: | | |
curl -LO https://dfu-util.sourceforge.net/releases/dfu-util-0.11-binaries.tar.xz && \ | |
tar -xf dfu-util-0.11-binaries.tar.xz | |
cp dfu-util-0.11-binaries/win32/dfu-util-static.exe /mingw32/bin/dfu-util.exe | |
cp dfu-util-0.11-binaries/win32/libusb-1.0.dll /mingw32/bin/libusb-1.0.dll | |
cp dfu-util-0.11-binaries/win32/libusb-1.0.dll.a /mingw32/bin/libusb-1.0.dll.a | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
cache: true | |
cache-key-prefix: 'install-qt-action-win32' | |
version: ${{ env.QT_VERSION }} | |
arch: ${{ env.MINGW_VERSION }} | |
- name: Check out the repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Build | |
working-directory: ${{github.workspace}} | |
# Execute the build. You can specify a specific target with "--target <NAME>" | |
run: | | |
mkdir output && \ | |
CMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt/$QT_VERSION/$MINGW_PATH \ | |
tools/build-companion.sh "$(pwd)" "$(pwd)/output/" | |
- name: Compose release filename | |
# https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions | |
run: echo "artifact_name=edgetx-cpn-win32-${GITHUB_REF##*/}" >> $GITHUB_ENV | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "${{ env.artifact_name }}" | |
path: ${{github.workspace}}/output | |
retention-days: 15 |