Skip to content

add search function for source code was: cache source code in vector for easier access in search function #594

add search function for source code was: cache source code in vector for easier access in search function

add search function for source code was: cache source code in vector for easier access in search function #594

name: compile and test
on: [push, pull_request, workflow_dispatch]
jobs:
pre_job:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
# All of these options are optional, so you can remove them if you are happy with the defaults
concurrent_skipping: 'same_content'
do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]'
ubuntu-2004:
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
container: ghcr.io/kdab/hotspot-ubuntu20.04-dependencies
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Configure
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -G Ninja >
-DCMAKE_CXX_FLAGS_INIT="-g -fsanitize=address,undefined -Werror" >
-DCMAKE_C_FLAGS_INIT="-g -fsanitize=address,undefined -Werror"
- name: Build
run: cmake --build build
- name: Test
run: cd build && ctest --output-on-failure -E tst_perfdata
ubuntu-2204:
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
container: ghcr.io/kdab/hotspot-ubuntu22.04-dependencies
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Configure
run: cmake --preset dev-asan -DCMAKE_CXX_FLAGS_INIT=-Werror -DCMAKE_C_FLAGS_INIT=-Werror
- name: Build
run: cmake --build build-dev-asan
- name: Test
run: ctest --preset dev-asan
archlinux-gcc:
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
container: ghcr.io/kdab/hotspot-archlinux-dependencies
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Configure
run: cmake --preset dev-asan >
-DCMAKE_CXX_FLAGS_INIT=-Werror -DCMAKE_C_FLAGS_INIT=-Werror
- name: Build
run: cmake --build --preset dev-asan
- name: Test
run: ctest --preset dev-asan
archlinux-clang-clazy:
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
container: ghcr.io/kdab/hotspot-archlinux-dependencies
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Configure
run: cmake --preset dev-clazy
- name: Build
run: cmake --build --preset dev-clazy
- name: Test
run: ctest --preset dev-clazy
fedora34:
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
container: ghcr.io/kdab/hotspot-fedora34-dependencies
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Configure
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -G Ninja >
-DCMAKE_CXX_FLAGS_INIT="-g -fsanitize=address,undefined -Werror" >
-DCMAKE_C_FLAGS_INIT="-g -fsanitize=address,undefined -Werror"
- name: Build
run: cmake --build build
- name: Test
run: ctest --test-dir build --output-on-failure
opensuse-tumbleweed:
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
container: ghcr.io/kdab/hotspot-opensusetumbleweed-dependencies
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Configure
run: cmake --preset dev-asan -DCMAKE_CXX_FLAGS_INIT=-Werror -DCMAKE_C_FLAGS_INIT=-Werror
- name: Build
run: cmake --build --preset dev-asan
- name: Test
run: ctest --preset dev-asan