Skip to content

ignore empty command line arguments #1604

ignore empty command line arguments

ignore empty command line arguments #1604

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@v4
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@v4
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@v4
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@v4
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
archlinux-clang-tidy:
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@v4
with:
submodules: recursive
- name: Configure
run: cmake --preset dev-clazy
- name: Analyze
# the first lines ensures all moc generated headers are available
run: cd build-dev-clazy &&
ninja -t targets all | grep "mocs_compilation.cpp:" | cut -f1 -d':' | xargs ninja &&
cd .. &&
./scripts/run_clang_tidy.sh build-dev-clazy &&
[ ! -s scripts/fixits/fixits.yaml ]
- name: Upload Fixits
if: always()
uses: actions/upload-artifact@v4
with:
name: clang-tidy-fixits
path: scripts/fixits/fixits.yaml
archlinux-without-optional:
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
container: ghcr.io/kdab/hotspot-archlinuxwithoutoptional-dependencies
steps:
- name: Checkout
uses: actions/checkout@v4
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
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@v4
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@v4
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
neon-qt6:
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
container: ghcr.io/kdab/hotspot-neonqt6-dependencies
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Configure
run: cmake --preset dev-asan-qt6 -DCMAKE_CXX_FLAGS_INIT=-Werror -DCMAKE_C_FLAGS_INIT=-Werror
- name: Build
run: cmake --build --preset dev-asan-qt6
- name: Test
run: ctest --preset dev-asan-qt6