These invocations will all cause bugs when pwd returns something that can be interpreted by bash, the most common case being a folder with whitespaces in its name. In other words these can be triggered by calling the scripts from any folder that contains whitespaces. More info on this specific finding by shellcheck: https://github.com/koalaman/shellcheck/wiki/SC2046
105 lines
3.4 KiB
YAML
105 lines
3.4 KiB
YAML
name: Windows Companion 32-bit
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- 'win-cpn-32'
|
|
tags:
|
|
- v*
|
|
paths:
|
|
- '.github/workflows/win_cpn-32.yml'
|
|
- 'companion/**'
|
|
- 'tools/build-companion-nightly.sh'
|
|
|
|
pull_request:
|
|
branches:
|
|
- 'win-cpn-32'
|
|
paths:
|
|
- '.github/workflows/win_cpn-32.yml'
|
|
- 'companion/**'
|
|
- 'tools/build-companion-nightly.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-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
|
|
pip install Pillow 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-nightly-win32.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-win-32-${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
|