name: Windows Companion on: push: branches: - 'main' paths: - '.github/workflow/win_cpn.yml' - 'companion/**' - 'tools/build-companion-nightly.sh' pull_request: branches: - 'main' paths: - '.github/workflow/win_cpn.yml' - 'companion/**' - 'tools/build-companion-nightly.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-arm-none-eabi-gcc \ 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-nsis pip install Pillow - name: Install Qt uses: jurplel/install-qt-action@v2 with: 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-nightly.sh $(pwd) $(pwd)/output/ - name: Archive production artifacts uses: actions/upload-artifact@v2 with: name: companion-nightly path: ${{github.workspace}}/output retention-days: 15