It's enough to build the win64 companion on PRs for testing, and this keeps the win32 builds from going stale, and may also keep it's build cache form from being cleared.
99 lines
3.3 KiB
YAML
99 lines
3.3 KiB
YAML
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.12.9"
|
|
MINGW_VERSION: "win32_mingw73"
|
|
MINGW_PATH: "mingw73_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 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-python-lz4 \
|
|
mingw-w64-i686-arm-none-eabi-gcc \
|
|
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-SDL \
|
|
mingw-w64-i686-clang \
|
|
mingw-w64-i686-nsis
|
|
python -m pip install clang
|
|
|
|
- name: Cache Qt
|
|
id: cache-qt
|
|
uses: actions/cache@v1 # not v2!
|
|
with:
|
|
path: ../Qt
|
|
key: win32-QtCache
|
|
|
|
- name: Install Qt
|
|
uses: jurplel/install-qt-action@v2
|
|
with:
|
|
cached: ${{ steps.cache-qt.outputs.cache-hit }}
|
|
version: ${{ env.QT_VERSION }}
|
|
arch: ${{ env.MINGW_VERSION }}
|
|
|
|
- name: Check out the repo
|
|
uses: actions/checkout@v2
|
|
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@v2
|
|
with:
|
|
name: "${{ env.artifact_name }}"
|
|
path: ${{github.workspace}}/output
|
|
retention-days: 15
|