Skip to content

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

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

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

name: macos-homebrew-build
on: [push, pull_request]
jobs:
macos:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- name: Talipot build on macOS 12
os: macos-12
pyver: "3.11"
- name: Talipot build on macOS 13
os: macos-13
pyver: "3.11"
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Checkout Talipot code
uses: actions/checkout@v3
- name: Install Talipot build dependencies
run: brew install
ccache
cmake
llvm
qhull
yajl
zstd
graphviz
libgit2
python@${{ matrix.config.pyver }}
sip
cppunit
pkg-config
glew
freetype
fribidi
fontconfig
qt6
quazip || brew link --overwrite python@${{ matrix.config.pyver }}
- name: Prepare ccache timestamp
id: get-current-date
run: |
echo "date=$(date -u "+%Y-%m-%d-%H-%m-%S")" >> $GITHUB_OUTPUT
shell: bash
- name: Cache files
uses: actions/cache@v3
with:
path: /Users/runner/Library/Caches/ccache
key: ${{ matrix.config.os }}-ccache-${{ steps.get-current-date.outputs.date }}
restore-keys: |
${{ matrix.config.os }}-ccache-
- name: Create build directory
run: mkdir build
- name: Configure Talipot core build with CMake
working-directory: ./build
run: cmake .. -DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=$PWD/install
-DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang
-DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++
-DCMAKE_RANLIB=/usr/bin/ranlib
-DPython3_EXECUTABLE=/usr/local/opt/python@${{ matrix.config.pyver }}/bin/python${{ matrix.config.pyver }}
-DTALIPOT_BUILD_CORE_ONLY=ON
-DTALIPOT_BUILD_TESTS=ON
-DTALIPOT_BUILD_DOC=OFF
-DTALIPOT_USE_CCACHE=ON
- name: Talipot core build
working-directory: ./build
run: make -j4
- name: Install Talipot core build
working-directory: ./build
run: make -j4 install
- name: Run Talipot core build unit tests
working-directory: ./build
run: make tests
- name: Configure Talipot complete build with CMake
working-directory: ./build
run: cmake .
-DTALIPOT_BUILD_CORE_ONLY=OFF
-DCMAKE_PREFIX_PATH=/usr/local/opt/qt6
-DTALIPOT_USE_QT6=ON
- name: Talipot complete build
working-directory: ./build
run: make -j4
- name: Install Talipot complete build
working-directory: ./build
run: make -j4 install
- name: Run Talipot complete build 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 dmg bundle
if: matrix.config.os == 'macos-12'
working-directory: ./build
run: make bundle
- name: Upload Talipot bundle to GitHub Actions artifacts
if: matrix.config.os == 'macos-12'
uses: actions/upload-artifact@v3
with:
name: Talipot macOS bundles
path: ./build/Talipot*.dmg