name: MacOSX Companion on: push: branches: - '2.6' - '2.7' - 'main' tags: - v* paths: - '.github/workflows/macosx_cpn.yml' - 'companion/**' - 'tools/build-companion.sh' pull_request: branches: - '2.6' - '2.7' - 'main' paths: - '.github/workflows/macosx_cpn.yml' - 'companion/**' - 'tools/build-companion.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 }} setup-python: 'false' - name: Install dependencies run: python3 -m pip install --upgrade pip Pillow lz4 - 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.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