Skip to content

software/talipot: Force use of qt xcb platform plugin on linux #628

software/talipot: Force use of qt xcb platform plugin on linux

software/talipot: Force use of qt xcb platform plugin on linux #628

name: windows-mingw64-build
on: [push, pull_request]
jobs:
mingw64:
name: Talipot build on Windows (mingw64)
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Checkout Talipot code
uses: actions/checkout@v3
- name: Install mingw64 and Talipot build dependencies
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: git
base-devel
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-cmake
mingw-w64-x86_64-ccache
mingw-w64-x86_64-yajl
mingw-w64-x86_64-zstd
mingw-w64-x86_64-qhull
mingw-w64-x86_64-graphviz
mingw-w64-x86_64-libgit2
mingw-w64-x86_64-python
mingw-w64-x86_64-cppunit
mingw-w64-x86_64-fontconfig
mingw-w64-x86_64-freetype
mingw-w64-x86_64-fribidi
mingw-w64-x86_64-glew
mingw-w64-x86_64-qt5
mingw-w64-x86_64-quazip
mingw-w64-x86_64-qtwebkit
mingw-w64-x86_64-python-sphinx
mingw-w64-x86_64-sip
- name: Prepare ccache timestamp
id: get-current-date
run: |
echo "date=$(date -u "+%Y-%m-%d-%H-%m-%S")" >> $GITHUB_OUTPUT
- name: Get ccache directory
id: get-cccache-dir
run: |
ccache_dir=$(ccache -sv | grep "Cache directory" | awk '{print $3}')
echo "ccache-dir=$ccache_dir" >> $GITHUB_OUTPUT
- name: Cache files
uses: actions/cache@v3
with:
path: ${{ steps.get-cccache-dir.outputs.ccache-dir }}
key: windows-mingw64-build-ccache-${{ steps.get-current-date.outputs.date }}
restore-keys: |
windows-mingw64-build-ccache
- name: Create build directory
run: mkdir build
- name: Configure Talipot build with CMake
working-directory: ./build
run: cmake -G "MSYS Makefiles"
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_NEED_RESPONSE=ON
-DCMAKE_INSTALL_PREFIX=$PWD/install
-DPython3_EXECUTABLE=/mingw64/bin/python3
-DTALIPOT_BUILD_TESTS=ON
-DTALIPOT_USE_CCACHE=ON ..
- name: Talipot build
working-directory: ./build
run: make -j4
- name: Install Talipot
working-directory: ./build
run: make -j4 install
- name: Run Talipot unit tests
working-directory: ./build
run: make tests
- name: Check Talipot application can be executed
working-directory: ./build/install/bin
run: ./talipot --check-application-starts --debug-plugins-load
- name: Generate Talipot NSIS installer
working-directory: ./build
run: make bundle
- name: Upload Talipot installer to GitHub Actions artifacts
uses: actions/upload-artifact@v3
with:
name: Talipot NSIS installers
path: ./build/Talipot*.exe
- name: Upload Talipot bundle to dev-latest prerelease
if: github.ref == 'refs/tags/dev-latest'
uses: ncipollo/release-action@v1
with:
allowUpdates: true
name: Talipot development build
prerelease: true
artifacts: ./build/Talipot*.exe
token: ${{ secrets.GITHUB_TOKEN }}