name: Windows Companion 64-bit on: push: branches: - '2.6' - '2.7' - 'main' tags: - v* paths: - '.github/workflows/win_cpn-64.yml' - 'companion/**' - 'tools/build-companion.sh' pull_request: branches: - '2.6' - '2.7' - 'main' paths: - '.github/workflows/win_cpn-64.yml' - 'companion/**' - 'tools/build-companion.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: "win64_mingw73" MINGW_PATH: "mingw73_64" 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: MINGW64 update: true install: git make mingw-w64-x86_64-toolchain - name: Install Dependencies run: | pacman -S --noconfirm mingw-w64-x86_64-cmake \ mingw-w64-x86_64-python-pip \ mingw-w64-x86_64-python-pillow \ mingw-w64-x86_64-python-lz4 \ mingw-w64-x86_64-libjpeg-turbo \ mingw-w64-x86_64-zlib \ mingw-w64-x86_64-libtiff \ mingw-w64-x86_64-freetype \ mingw-w64-x86_64-lcms2 \ mingw-w64-x86_64-libwebp \ mingw-w64-x86_64-openjpeg2 \ mingw-w64-x86_64-libimagequant \ mingw-w64-x86_64-libraqm \ mingw-w64-x86_64-SDL \ mingw-w64-x86_64-clang \ mingw-w64-x86_64-nsis python -m pip install clang - name: Cache Qt id: cache-qt uses: actions/cache@v1 # not v2! with: path: ../Qt key: win64-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 " run: | mkdir output && \ CMAKE_PREFIX_PATH=$RUNNER_WORKSPACE/Qt/$QT_VERSION/$MINGW_PATH \ 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-win64-${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