talipot-core/GraphImpl: Simplify node/edge iterators implementation #1138
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ubuntu-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 on Ubuntu 20.04 | |
os: ubuntu-20.04 | |
- name: Talipot build on Ubuntu 22.04 | |
os: ubuntu-22.04 | |
steps: | |
- name: Checkout Talipot code | |
uses: actions/checkout@v4 | |
- name: Apt update | |
run: sudo apt update | |
- name: Install Talipot build dependencies | |
run: sudo apt install | |
cmake | |
ccache | |
ninja-build | |
libqhull-dev | |
libyajl-dev | |
libgraphviz-dev | |
libpython3-dev | |
libcppunit-dev | |
binutils-dev | |
libzstd-dev | |
libgit2-dev | |
qtbase5-dev | |
libquazip5-dev | |
libglew-dev | |
libfreetype6-dev | |
libfribidi-dev | |
libfontconfig-dev | |
python3 | |
python3-pip | |
doxygen | |
graphviz | |
xvfb | |
- name: Install sip | |
run: | | |
sudo pip3 install --upgrade pip | |
sudo pip3 install 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: ${{ matrix.config.os }}-ccache-${{ steps.get-current-date.outputs.date }} | |
restore-keys: | | |
${{ matrix.config.os }}-ccache- | |
save-always: true | |
- name: Create build directory | |
run: mkdir build | |
- name: Configure Talipot core build with CMake | |
working-directory: ./build | |
run: cmake .. -G Ninja | |
-DCMAKE_BUILD_TYPE=Release | |
-DCMAKE_INSTALL_PREFIX=$PWD/install | |
-DTALIPOT_BUILD_TESTS=ON | |
-DTALIPOT_USE_CCACHE=ON | |
-DTALIPOT_BUILD_CORE_ONLY=ON | |
-DTALIPOT_BUILD_DOC=OFF | |
- name: Talipot core build | |
working-directory: ./build | |
run: ninja -j4 | |
- name: Install Talipot core build | |
working-directory: ./build | |
run: ninja -j4 install | |
- name: Run Talipot core build unit tests | |
working-directory: ./build | |
run: ninja tests | |
- name: Install sphinx | |
run: sudo pip install sphinx | |
- name: Configure Talipot complete build with CMake | |
working-directory: ./build | |
run: cmake . | |
-DTALIPOT_BUILD_CORE_ONLY=OFF | |
-DTALIPOT_BUILD_DOC=ON | |
- name: Talipot complete build | |
working-directory: ./build | |
run: ninja -j4 | |
- name: Install Talipot complete build | |
working-directory: ./build | |
run: ninja -j4 install | |
- name: Run Talipot complete build 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 |