Skip to content

plugins/LeafMetric: Simplify code with new Graph::dfs method variant #819

plugins/LeafMetric: Simplify code with new Graph::dfs method variant

plugins/LeafMetric: Simplify code with new Graph::dfs method variant #819

name: ubuntu-qt6-build
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
ubuntu:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- name: Talipot build Qt6 6.2
os: ubuntu-22.04
- name: Talipot build Qt6 latest
os: ubuntu-22.04
steps:
- name: Checkout Talipot code
uses: actions/checkout@v4
- if: matrix.config.name == 'Talipot build Qt6 latest'
name: Add KDE Neon apt repository to use latest Qt6 release
run: |
wget -qO - http://archive.neon.kde.org/public.key | sudo apt-key add -
sudo add-apt-repository http://archive.neon.kde.org/user/
sudo apt update
- name: Apt update
run: sudo apt update
- name: Install Talipot build dependencies
run: sudo apt install
cmake
ccache
curl
ninja-build
libqhull-dev
libyajl-dev
libgit2-dev
libgraphviz-dev
libpython3-dev
libcppunit-dev
binutils-dev
libzstd-dev
libglew-dev
libfreetype6-dev
libfribidi-dev
libfontconfig-dev
python3
python3-pip
doxygen
graphviz
qt6-base-dev
libqt6core5compat6-dev
qt6-webengine-dev
qt6-webengine-dev-tools
xvfb
- name: Install sphinx and sip
run: sudo pip install sphinx sip
- 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@v4
with:
path: ~/.ccache
key: ubuntu-qt6-build-ccache-${{ steps.get-current-date.outputs.date }}
restore-keys: |
ubuntu-qt6-build-ccache-
save-always: true
- name: Create build directory
run: mkdir build
- name: Configure Talipot build with CMake
working-directory: ./build
run: cmake .. -G Ninja
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=$PWD/install
-DTALIPOT_USE_QT6=ON
-DTALIPOT_BUILD_TESTS=ON
-DTALIPOT_USE_CCACHE=ON
- name: Talipot build
working-directory: ./build
run: ninja -j4
- name: Install Talipot
working-directory: ./build
run: ninja -j4 install
- name: Run Talipot unit tests
working-directory: ./build
run: xvfb-run ninja tests
- name: Check Talipot application can be executed
working-directory: ./build/install/bin
run: xvfb-run ./talipot --check-application-starts --debug-plugins-load