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
107 lines
3.3 KiB
YAML
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
|