Files
edgetx-gx12/.github/workflows/win-cpn-32.yml
T
Samuel HenriqueandGitHub d09ba3adca fix: Prevent word splitting in compilation scripts when handling paths (#1502)
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
2022-01-26 20:58:24 +10:00

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