From 3520ae36a6f2485978df93e50ce70a623e348b6b Mon Sep 17 00:00:00 2001 From: light7734 Date: Sun, 20 Jul 2025 07:30:59 +0330 Subject: [PATCH] ci: update .drone.yml --- .drone.yml | 152 +++++++++++++++++++++++++---------------------------- 1 file changed, 72 insertions(+), 80 deletions(-) diff --git a/.drone.yml b/.drone.yml index 4f1afeb..0835ece 100644 --- a/.drone.yml +++ b/.drone.yml @@ -12,24 +12,23 @@ platform: steps: - name: tests shell: powershell - commands: - - | - conan profile detect + commands: | + conan profile detect - conan build . -s compiler.cppstd=20 -s build_type=Release + conan build . -s compiler.cppstd=20 -s build_type=Release - $tests = Get-ChildItem -Path "./build" -Recurse -File | Where-Object { - $_.Name -like "*_tests.exe" - } + $tests = Get-ChildItem -Path "./build" -Recurse -File | Where-Object { + $_.Name -like "*_tests.exe" + } - foreach ($test in $tests) { - Write-Host "Running $($test.FullName)" - & $test.FullName - if ($LASTEXITCODE -ne 0) { - Write-Error "Test $($test.Name) failed! T_T" - exit $LASTEXITCODE - } - } + foreach ($test in $tests) { + Write-Host "Running $($test.FullName)" + & $test.FullName + if ($LASTEXITCODE -ne 0) { + Write-Error "Test $($test.Name) failed! T_T" + exit $LASTEXITCODE + } + } --- kind: pipeline @@ -43,22 +42,20 @@ steps: - name: tests image: unit_tests:latest pull: if-not-exists - commands: - - | - set -e + commands: | + set -e + conan build . \ + -c tools.system.package_manager:mode=install \ + -c tools.cmake.cmaketoolchain:generator=Ninja \ + -s build_type=Release \ + -o enable_tests=True \ + -o use_mold=True \ + --build=missing - conan build . \ - -c tools.system.package_manager:mode=install \ - -c tools.cmake.cmaketoolchain:generator=Ninja \ - -s build_type=Release \ - -o enable_tests=True \ - -o use_mold=True \ - --build=missing - - for test in $(find ./build -type f -name '*_tests' -executable); do - echo "Running $test" - "$test" - done + for test in $(find ./build -type f -name '*_tests' -executable); do + echo "Running $test" + "$test" + done --- kind: pipeline @@ -72,19 +69,17 @@ steps: - name: valgrind image: valgrind:latest pull: if-not-exists - commands: - - | - set -e + commands: | + set -e + conan build . \ + -c tools.system.package_manager:mode=install \ + -c tools.cmake.cmaketoolchain:generator=Ninja \ + -s build_type=Release \ + -o enable_tests=True \ + -o use_mold=True \ + --build=missing - conan build . \ - -c tools.system.package_manager:mode=install \ - -c tools.cmake.cmaketoolchain:generator=Ninja \ - -s build_type=Release \ - -o enable_tests=True \ - -o use_mold=True \ - --build=missing - - find ./build -type f -name "*_tests" -executable | xargs -I {} bash -c 'valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --error-exitcode=255 {}' || exit 1 + find ./build -type f -name "*_tests" -executable | xargs -I {} bash -c 'valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --verbose --error-exitcode=255 {}' || exit 1 --- kind: pipeline @@ -98,28 +93,26 @@ steps: - name: leak sanitizer image: leak_sanitizer:latest pull: if-not-exists - commands: - - | - set -e - - conan build . \ - -c tools.system.package_manager:mode=install \ - -c tools.cmake.cmaketoolchain:generator=Ninja \ - -c tools.build:cxxflags='["-g", "-fno-omit-frame-pointer", "-nostdinc++", "-isystem", "/libcxx_lsan/include/c++/v1/", "-fsanitize=leak"]' \ - -c tools.build:sharedlinkflags='["-L/libcxx_lsan/lib", "-Wl,-rpath,/libcxx_lsan/lib", "-lc++", "-lc++abi", "-fsanitize=leak"]' \ - -c tools.build:exelinkflags='["-L/libcxx_lsan/lib", "-Wl,-rpath,/libcxx_lsan/lib", "-lc++", "-lc++abi", "-fsanitize=leak"]' \ - -c tools.info.package_id:confs='["tools.build:cxxflags","tools.build:sharedlinkflags","tools.build:exelinkflags"]' \ - -c tools.build:compiler_executables='{"c": "clang", "cpp": "clang++"}' \ - -s build_type=Release \ - -s compiler=clang \ - -s compiler.version=20 \ - -s compiler.libcxx=libc++ \ - -o use_mold=True \ - --build=missing - for test in $(find ./build -type f -name '*_tests' -executable); do - echo "Running $test" - "$test" - done + commands: | + set -e + conan build . \ + -c tools.system.package_manager:mode=install \ + -c tools.cmake.cmaketoolchain:generator=Ninja \ + -c tools.build:cxxflags='["-g", "-fno-omit-frame-pointer", "-nostdinc++", "-isystem", "/libcxx_lsan/include/c++/v1/", "-fsanitize=leak"]' \ + -c tools.build:sharedlinkflags='["-L/libcxx_lsan/lib", "-Wl,-rpath,/libcxx_lsan/lib", "-lc++", "-lc++abi", "-fsanitize=leak"]' \ + -c tools.build:exelinkflags='["-L/libcxx_lsan/lib", "-Wl,-rpath,/libcxx_lsan/lib", "-lc++", "-lc++abi", "-fsanitize=leak"]' \ + -c tools.info.package_id:confs='["tools.build:cxxflags","tools.build:sharedlinkflags","tools.build:exelinkflags"]' \ + -c tools.build:compiler_executables='{"c": "clang", "cpp": "clang++"}' \ + -s build_type=Release \ + -s compiler=clang \ + -s compiler.version=20 \ + -s compiler.libcxx=libc++ \ + -o use_mold=True \ + --build=missing + for test in $(find ./build -type f -name '*_tests' -executable); do + echo "Running $test" + "$test" + done --- kind: pipeline @@ -157,22 +150,21 @@ steps: - name: clang format image: clang_format:latest pull: if-not-exists - commands: - - | - set -e - clang-format --version - has_fomatting_issues=0 + commands: | + set -e + clang-format --version + has_fomatting_issues=0 - for file in $(find ./modules -name '*.?pp'); do - echo "Checking format for $file" - if ! clang-format --dry-run --Werror "$file"; then - echo "❌ Formatting issue detected in $file" - has_fomatting_issues=1 - fi - done - - if [ "$has_fomatting_issues" -eq 0 ]; then - echo "✅ All files are properly formatted! Well done! ^~^" + for file in $(find ./modules -name '*.?pp'); do + echo "Checking format for $file" + if ! clang-format --dry-run --Werror "$file"; then + echo "❌ Formatting issue detected in $file" + has_fomatting_issues=1 fi + done - exit ${has_fomatting_issues} + if [ "$has_fomatting_issues" -eq 0 ]; then + echo "✅ All files are properly formatted! Well done! ^~^" + fi + + exit ${has_fomatting_issues}