From 35cfcbd1e732971b32220f71087f5144e46b7055 Mon Sep 17 00:00:00 2001 From: alex2772 Date: Sun, 2 Mar 2025 05:11:52 +0300 Subject: [PATCH 1/3] update AUI version --- CMakeLists.txt | 3 ++- README.md | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e16d03..d51abef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,8 +5,9 @@ project(example_app ) option(BUILD_SHARED_LIBS "Build shared libs" OFF) +option(AUIB_FORCE_PRECOMPILED "AUI.Boot: force precompiled dependencies" ON) -set(AUI_VERSION a98b704e4cda510781ea2d0931c1c7b6e755912c) +set(AUI_VERSION v7.0.0-rc.20) # Use AUI.Boot file( diff --git a/README.md b/README.md index a14c678..8b8f039 100644 --- a/README.md +++ b/README.md @@ -51,3 +51,25 @@ The template includes `.clang-format` and `.clang-tidy`, the latter is used for To create a release, simply push an update to version in `CMakeLists.txt`. Pipeline will create a GitHub Release Draft for you. After release draft is created, perform manual review and submit release. + +# Syncing with this template + +In some cases, you might want to sync with this template. Generally, you would want to sync with CI/CD stuff +(`.github`). If such, use some git techniques: + +```shell +# only for the first time +git remote add template https://github.com/aui-framework/example_app + +# syncing +git fetch template +git merge template/master --allow-unrelated-histories + +# from now on, check git status and throw out anything you don't need + +# remove unwanted files, i.e., SumTest.cpp: +git rm tests/SumTest.cpp -f + +# keep YOURS src, tests, CMakeLists: +git checkout HEAD -- CMakeLists.txt src tests +``` \ No newline at end of file From 08017549d4af2952945a8a110d7b2edde4f786b1 Mon Sep 17 00:00:00 2001 From: alex2772 Date: Sun, 2 Mar 2025 15:51:58 +0300 Subject: [PATCH 2/3] u --- .github/workflows/code-quality.yml | 4 +-- valgrind_suppressions.supp | 54 ++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 valgrind_suppressions.supp diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index cf52a51..1d12af0 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -32,7 +32,7 @@ jobs: - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake -GNinja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=OFF -DAUI_IGNORE_OPENSSL=TRUE -DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy -DCMAKE_CXX_FLAGS="-stdlib=libc++ -std=c++20" + run: CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake -GNinja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=OFF -DAUI_IGNORE_OPENSSL=TRUE -DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy -DCMAKE_CXX_FLAGS="-stdlib=libc++ -std=c++20" ${{ matrix.compiler }} - name: Run tidy # Build your program with the given configuration @@ -65,4 +65,4 @@ jobs: - name: Run AUI tests asan working-directory: ${{github.workspace}}/build/bin - run: valgrind --suppressions=${{github.workspace}}/valgrind_suppressions.supp --error-exitcode=1 --tool=memcheck --leak-check=full --track-origins=yes --gen-suppressions=all ${{github.workspace}}/build/bin/Tests --gtest_filter="-Threading.FutureOn*" + run: valgrind --suppressions=${{github.workspace}}/valgrind_suppressions.supp --error-exitcode=1 --tool=memcheck --leak-check=full --track-origins=yes --gen-suppressions=all ${{github.workspace}}/build/bin/Tests diff --git a/valgrind_suppressions.supp b/valgrind_suppressions.supp new file mode 100644 index 0000000..2282637 --- /dev/null +++ b/valgrind_suppressions.supp @@ -0,0 +1,54 @@ +# SPDX-License-Identifier: MPL-2.0 +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# This file is a suppression list for valgrind (dynamic analysis tool). Use this file as such: +# valgrind --suppressions=valgrind_suppressions.supp ./Tests + +{ + Backtrace + Memcheck:Param + openat(filename) + ... + fun:backtrace_open + ... +} + +{ + ThreadStart + Memcheck:Leak + match-leak-kinds: possible + ... + fun:_ZN7AThread5startEv + ... +} + +{ + IDontknowWhatIsThis + Memcheck:Leak + match-leak-kinds: possible + fun:malloc + fun:RegisterStubCallbacks + ... +} + +{ + fontconfig + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + ... + fun:XML_ParseBuffer + ... +} + +{ + dlopen + Memcheck:Leak + match-leak-kinds: possible + ... + fun:do_dlopen + ... +} From 686b149b09b77d9e57d99a07eb4d0f8a5c41945a Mon Sep 17 00:00:00 2001 From: alex2772 Date: Sun, 2 Mar 2025 16:00:11 +0300 Subject: [PATCH 3/3] update version --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d51abef..ec5e777 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,7 @@ project(example_app option(BUILD_SHARED_LIBS "Build shared libs" OFF) option(AUIB_FORCE_PRECOMPILED "AUI.Boot: force precompiled dependencies" ON) -set(AUI_VERSION v7.0.0-rc.20) +set(AUI_VERSION v7.0.0-rc.21) # Use AUI.Boot file(