Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/v2.0 #364

Merged
merged 52 commits into from
Apr 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
1aecb29
refactor: simplify async D-Bus connection handling
Jan 21, 2023
8d0c7e7
chore: enable actions on release/v2.0 branch
Jan 24, 2023
b0a13e0
feat: introduce sd-event integration
sangelovic Jan 24, 2023
053a1cf
ci: build googletest manually on older ubuntus
sangelovic May 17, 2023
75e3a08
test: support new googletest git tags
sangelovic May 17, 2023
515fe6f
chore: require cmake v3.14 and use FetchContent_MakeAvailable
sangelovic May 17, 2023
7ce9b52
fix: prevent installing a time event, when there's no need for a timeout
hellow554 May 17, 2023
c7675de
fix: update cmake version for library to 2.0.0
hellow554 May 15, 2023
233ec79
refactor: use sd-bus API to get current message
Feb 2, 2023
538c4bd
refactor: let callbacks take message objects by value (#367)
sangelovic Oct 24, 2023
dd468eb
refactor: simplify async call state flag (#368)
sangelovic Oct 24, 2023
f9a482c
fix(tests): enable skipped test for Clang and FreeBSD (#369)
sangelovic Oct 24, 2023
13db519
refactor: make Variant constructor explicit (#370)
sangelovic Oct 25, 2023
75bddd0
refactor: use sd_bus_match_signal() for signal registration (#372)
sangelovic Oct 31, 2023
299d101
fix: add missing header to ScopeGuard.h
sangelovic Dec 22, 2023
f61ee28
refactor: improve Object vtable registration (#388)
sangelovic Dec 30, 2023
4d8e68e
refactor: improve Proxy signal subscription (#389)
sangelovic Dec 30, 2023
f6a4def
refactor: rename request_slot tag to return_slot
Dec 30, 2023
f263267
refactor: remove deprecated dont_request_slot_t tag
Dec 30, 2023
fc7ccb0
chore: remove legacy comments
Dec 30, 2023
d9e7e4a
refactor: add nodiscard attribute for some functions
Dec 30, 2023
f3c2137
refactor: add Async suffix to async callMethod functions (#394)
sangelovic Jan 8, 2024
2fe7cfe
refactor: use correct header include order
sangelovic Jan 9, 2024
7d68b4b
refactor: add nodiscard attribute for more functions
sangelovic Jan 10, 2024
2bd25e0
refactor: use optional for passing potential call errors (#396)
sangelovic Jan 10, 2024
4c50f55
refactor: rename and re-organize CMake options (#401)
sangelovic Feb 10, 2024
954e6cd
refactor: remove deprecated API stuff (#403)
sangelovic Feb 10, 2024
0437d93
chore: rename COMPONENTs in CMake (#402)
sangelovic Feb 10, 2024
4ea36d2
chore: reorder some API functions (#404)
sangelovic Feb 16, 2024
c829208
chore: update ChangeLog for v2.0.0 (#405)
sangelovic Feb 16, 2024
b71b69d
refactor: rename connection creation methods (#406)
sangelovic Feb 16, 2024
c07b19b
docs: add v2 migration notes to the tutorial (#407)
sangelovic Feb 18, 2024
3a8a3a8
fix: pass correctly underlying lib to intg tests
sangelovic Feb 18, 2024
b245304
fix: conditional use and tests of span (#411)
sangelovic Feb 19, 2024
30ee5a3
chore(cmake): implement more flexible searching for sd-bus libs (#409)
sangelovic Feb 19, 2024
79abb4e
fix(cmake): rename forgotten CMake variables
sangelovic Feb 20, 2024
e177207
chore: use C++20 standard (#410)
sangelovic Feb 20, 2024
877497f
fix(tests): fix intermittently failing integration tests (#412)
sangelovic Feb 20, 2024
7127e8e
refactor: add strong types to public API (#414)
sangelovic Mar 29, 2024
8bd44ea
fix: make Variant conversion operator explicit (#428)
sangelovic Apr 3, 2024
e48d6d4
refactor: enable compile-time D-Bus signature generation (#425)
sangelovic Apr 16, 2024
232d223
feat: add support for string_view as D-Bus type
sangelovic Apr 16, 2024
f4bd821
refactor: use string_view in Property convenience classes
sangelovic Apr 16, 2024
a3c9f97
perf: provide also const char* overloads for convenience functions
sangelovic Apr 16, 2024
e7819b5
chore: update years in header comments
sangelovic Apr 16, 2024
ef01757
refactor: improve and make more efficient some Message API (#432)
sangelovic Apr 17, 2024
4c8eaed
feat: add Slot-returning overloads of async method calls (#433)
sangelovic Apr 18, 2024
4e8b455
fix: disable move in generated adaptor and proxy classes (#435)
sangelovic Apr 19, 2024
eee2de3
docs: fix generated class examples in the tutorial (#436)
sangelovic Apr 24, 2024
b7b39ea
refactor: reorganize public API of main abstract classes (#437)
sangelovic Apr 24, 2024
a6b6490
refactor: object manager API (#438)
sangelovic Apr 24, 2024
6eb0cff
refactor: remove floating_slot_t tag and use return_slot_t instead (#…
sangelovic Apr 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 33 additions & 12 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
branches:
- master
- release/v2.0

jobs:
build:
Expand All @@ -13,12 +15,18 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
compiler: [g++, clang]
compiler: [g++]
build: [shared-libsystemd]
include:
- os: ubuntu-20.04
- os: ubuntu-22.04
compiler: clang
build: shared-libsystemd
- os: ubuntu-22.04
compiler: g++
build: embedded-static-libsystemd
- os: ubuntu-22.04
compiler: clang
build: embedded-static-libsystemd
steps:
- uses: actions/checkout@v3
- name: install-libsystemd-toolchain
Expand All @@ -39,28 +47,41 @@ jobs:
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 10
sudo update-alternatives --remove-all c++
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 10
- name: install-googletest
if: matrix.os == 'ubuntu-22.04' # On older ubuntus the libgmock-dev package is either unavailable or has faulty pkg-config file
run: |
sudo apt-get install -y libgmock-dev
# We need to use libc++ with Clang because there is a bug in libstdc++ chrono headers that Clang has issues with
echo "SDBUSCPP_EXTRA_CXX_FLAGS=-stdlib=libc++" >> $GITHUB_ENV
# We don't install googletest but we let it be built within sdbus-c++ builds below, since it needs to be built against libc++ for Clang jobs to pass
# - name: install-googletest
# if: matrix.os == 'ubuntu-22.04'
# run: |
# sudo apt-get install -y libgmock-dev
# - name: install-googletest
# if: matrix.os == 'ubuntu-20.04' # On older ubuntus the libgmock-dev package is either unavailable or has faulty pkg-config file, so we build & install manually
# run: |
# git clone https://github.com/google/googletest.git
# cd googletest
# mkdir build
# cd build
# cmake .. -DCMAKE_CXX_FLAGS="$SDBUSCPP_EXTRA_CXX_FLAGS"
# cmake --build . -j4
# sudo cmake --build . --target install
- name: configure-debug
if: matrix.build == 'shared-libsystemd' && matrix.os == 'ubuntu-20.04'
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="-O0 -g -W -Wextra -Wall -Wnon-virtual-dtor -Werror" -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON -DBUILD_CODE_GEN=ON ..
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="-O0 -g -W -Wextra -Wall -Wnon-virtual-dtor -Werror $SDBUSCPP_EXTRA_CXX_FLAGS" -DCMAKE_VERBOSE_MAKEFILE=ON -DSDBUSCPP_INSTALL=ON -DSDBUSCPP_BUILD_TESTS=ON -DSDBUSCPP_BUILD_PERF_TESTS=ON -DSDBUSCPP_BUILD_STRESS_TESTS=ON -DSDBUSCPP_BUILD_CODEGEN=ON ..
- name: configure-release
if: matrix.build == 'shared-libsystemd' && matrix.os == 'ubuntu-22.04'
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="-O3 -DNDEBUG -W -Wextra -Wall -Wnon-virtual-dtor -Werror" -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON -DBUILD_CODE_GEN=ON ..
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="-O3 -DNDEBUG -W -Wextra -Wall -Wnon-virtual-dtor -Werror $SDBUSCPP_EXTRA_CXX_FLAGS" -DCMAKE_VERBOSE_MAKEFILE=ON -DSDBUSCPP_INSTALL=ON -DSDBUSCPP_BUILD_TESTS=ON -DSDBUSCPP_BUILD_PERF_TESTS=ON -DSDBUSCPP_BUILD_STRESS_TESTS=ON -DSDBUSCPP_BUILD_CODEGEN=ON -DSDBUSCPP_GOOGLETEST_VERSION=1.14.0 ..
- name: configure-with-embedded-libsystemd
if: matrix.build == 'embedded-static-libsystemd'
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON -DBUILD_CODE_GEN=ON -DBUILD_LIBSYSTEMD=ON -DLIBSYSTEMD_VERSION=244 ..
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_CXX_FLAGS="$SDBUSCPP_EXTRA_CXX_FLAGS" -DCMAKE_VERBOSE_MAKEFILE=ON -DSDBUSCPP_INSTALL=ON -DSDBUSCPP_BUILD_TESTS=ON -DSDBUSCPP_BUILD_PERF_TESTS=ON -DSDBUSCPP_BUILD_STRESS_TESTS=ON -DSDBUSCPP_BUILD_CODEGEN=ON -DSDBUSCPP_BUILD_LIBSYSTEMD=ON -DSDBUSCPP_LIBSYSTEMD_VERSION=252 -DSDBUSCPP_GOOGLETEST_VERSION=1.14.0 ..
- name: make
run: |
cd build
Expand All @@ -76,7 +97,7 @@ jobs:
cd build
cpack -G DEB
- name: 'Upload Artifact'
if: matrix.build == 'shared-libsystemd' && matrix.os == 'ubuntu-20.04' && matrix.compiler == 'g++'
if: matrix.build == 'shared-libsystemd' && matrix.os == 'ubuntu-22.04' && matrix.compiler == 'g++'
uses: actions/upload-artifact@v3
with:
name: "debian-packages-${{ matrix.os }}-${{ matrix.compiler }}"
Expand All @@ -97,7 +118,7 @@ jobs:
prepare: |
pkg install -y cmake ninja pkgconf basu expat googletest
run: |
cmake -B _build -G Ninja -DBUILD_CODE_GEN=ON -DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DENABLE_PERF_TESTS=ON -DENABLE_STRESS_TESTS=ON
cmake -B _build -G Ninja -DSDBUSCPP_INSTALL=ON -DSDBUSCPP_BUILD_CODEGEN=ON -DSDBUSCPP_BUILD_TESTS=ON -DSDBUSCPP_BUILD_PERF_TESTS=ON -DSDBUSCPP_BUILD_STRESS_TESTS=ON
cmake --build _build
cmake --install _build
pkg install -y dbus
Expand Down
Loading
Loading