Files
edgetx-gx12/.github/workflows/macosx_cpn.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

107 lines
3.3 KiB
YAML

name: MacOSX Companion
on:
push:
branches:
- '2.5'
- '2.6'
- 'main'
tags:
- v*
paths:
- '.github/workflows/macosx_cpn.yml'
- 'companion/**'
- 'tools/build-companion-nightly.sh'
pull_request:
branches:
- '2.5'
- '2.6'
- 'main'
paths:
- '.github/workflows/macosx_cpn.yml'
- 'companion/**'
- 'tools/build-companion-nightly.sh'
workflow_dispatch:
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
QT_VERSION: "5.12.9"
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: macos-10.15
steps:
- name: Check out the repo
uses: actions/checkout@v2
with:
submodules: recursive
- name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
run: cmake -E make_directory ${{github.workspace}}/build
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: ${{ env.QT_VERSION }}
- name: Install dependencies
run: python -m pip install --upgrade pip Pillow
- name: Install dfu-util
run: wget https://downloads.sourceforge.net/project/dfu-util/dfu-util-0.9.tar.gz &&
tar xfv dfu-util-0.9.tar.gz &&
cd dfu-util-0.9 &&
./configure &&
make install
- name: Install libusb
run: wget https://github.com/libusb/libusb/releases/download/v1.0.20/libusb-1.0.20.tar.bz2 &&
export MACOSX_DEPLOYMENT_TARGET=10.9 &&
tar xfv libusb-1.0.20.tar.bz2 &&
cd libusb-1.0.20 &&
./configure &&
make install &&
cd ..
- name: Install libsdl
run: wget https://www.libsdl.org/release/SDL-1.2.15.tar.gz &&
tar xfv SDL-1.2.15.tar.gz &&
export MACOSX_DEPLOYMENT_TARGET=10.9 &&
cd SDL-1.2.15 &&
wget 'https://bugzilla-attachments.libsdl.org/attachment.cgi?id=1320' -O patch1 &&
wget 'https://bugzilla-attachments.libsdl.org/attachment.cgi?id=1324' -O patch2 &&
wget 'https://hg.libsdl.org/SDL/raw-rev/91ad7b43317a' -O patch3 &&
patch -p1 < patch1 &&
patch -p1 < patch2 &&
patch -p1 < patch3 &&
./configure --without-x &&
make install
- name: Build
working-directory: ${{github.workspace}}
shell: bash
run: |
mkdir output && \
tools/build-companion-nightly.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-osx-${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