name: Windows Companion 64-bit on: push: branches: - 'main' tags: - v* paths: - '.github/workflows/win_cpn-64.yml' - 'companion/**' - 'tools/build-companion.sh' pull_request: branches: - '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.15.2" MINGW_VERSION: "win64_mingw81" MINGW_PATH: "mingw81_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-SDL2 \ mingw-w64-x86_64-clang \ mingw-w64-x86_64-nsis \ mingw-w64-x86_64-dfu-util \ mingw-w64-x86_64-openssl python -m pip install clang jinja2 - name: Install Qt uses: jurplel/install-qt-action@v3 with: cache: true cache-key-prefix: 'install-qt-action-win64' version: ${{ env.QT_VERSION }} arch: ${{ env.MINGW_VERSION }} - name: Check out the repo uses: actions/checkout@v4 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@v4 with: name: "${{ env.artifact_name }}" path: ${{github.workspace}}/output retention-days: 15