From fe649eefb2dc65be7fd80bad4de06fc4abb0dbca Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Fri, 23 Feb 2024 20:15:13 -0800 Subject: [PATCH 01/26] Comment typo fix in main.yml. --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 45c56df50..9f201c4e8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -62,7 +62,7 @@ name: Flow-IPC pipeline on: # Want to merge to development tip? Should probably pass these builds/tests and doc generation first (the latter - # in case the source change adds a Doxygen error or bad-looking docs). Note this rans on PR creation *and* update. + # in case the source change adds a Doxygen error or bad-looking docs). Note this runs on PR creation *and* update. pull_request: branches: - main From 0e6f5493a2625a4f131cccf10ff34cd3cfb9ad47 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Fri, 23 Feb 2024 20:22:33 -0800 Subject: [PATCH 02/26] Updating submodules: pulling in Native_socket_stream::release() simplification work. --- flow | 2 +- ipc_core | 2 +- ipc_session | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/flow b/flow index 4941364fb..c1f5d2620 160000 --- a/flow +++ b/flow @@ -1 +1 @@ -Subproject commit 4941364fbb3ef213874ef3a9d450c13eb7dd160d +Subproject commit c1f5d2620eedb212c83095a67f04ae40b51696a5 diff --git a/ipc_core b/ipc_core index 745ee81c1..624e0af89 160000 --- a/ipc_core +++ b/ipc_core @@ -1 +1 @@ -Subproject commit 745ee81c129201f49f905e20b0858450f9214b99 +Subproject commit 624e0af89023eb70b5b2bd3b1a55415edfa231ae diff --git a/ipc_session b/ipc_session index b7198b47d..524eaa3b1 160000 --- a/ipc_session +++ b/ipc_session @@ -1 +1 @@ -Subproject commit b7198b47d85643ae084d0fce82f58f1a755b95fd +Subproject commit 524eaa3b16a4ea9d3e8ce53b2104b2e22194a6a8 From eeb55c91b23984e11fe857f653b8adcb4e85cd30 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Fri, 23 Feb 2024 20:29:11 -0800 Subject: [PATCH 03/26] Updating submodules. --- ipc_core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipc_core b/ipc_core index 624e0af89..39d3a004f 160000 --- a/ipc_core +++ b/ipc_core @@ -1 +1 @@ -Subproject commit 624e0af89023eb70b5b2bd3b1a55415edfa231ae +Subproject commit 39d3a004feca7b7cf22528f7ef28263c1ab5779d From f02bf773a25dbb605cead8356df3a1ef2bdfb58f Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Fri, 23 Feb 2024 22:44:21 -0800 Subject: [PATCH 04/26] Turns out GitHub workflow had a lacking thing; I had forgotten the link tests do produce non-console logs too. Now saving those as well into the artifact tarball. --- .github/workflows/main.yml | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9f201c4e8..bea2c8f83 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -682,12 +682,13 @@ jobs: run: | # Run link test [`ipc_core` - Flow-IPC Core]. cd ${{ env.install-dir }}/bin - mkdir -p logs/ipc_core_link_test + OUT_DIR=logs/ipc_core_link_test + mkdir -p $OUT_DIR SUPP_DIR_A=${{ github.workspace }}/flow/src { cat $SUPP_DIR_A/${{ env.san-suppress-cfg-in-file1 }} $SUPP_DIR_A/${{ env.san-suppress-cfg-in-file2 }} \ > ${{ env.san-suppress-cfg-file }} 2> /dev/null; } || true ${{ env.setup-tests-env }} - ./ipc_core_link_test.exec > logs/ipc_core_link_test/console.log 2>&1 + ./ipc_core_link_test.exec $OUT_DIR/log.log > $OUT_DIR/console.log 2>&1 - name: Run link test [`ipc_transport_structured` - Flow-IPC Structured Transport] if: | @@ -695,12 +696,13 @@ jobs: run: | # Run link test [`ipc_transport_structured` - Flow-IPC Structured Transport]. cd ${{ env.install-dir }}/bin - mkdir -p logs/ipc_transport_structured_link_test + OUT_DIR=logs/ipc_transport_structured_link_test + mkdir -p $OUT_DIR SUPP_DIR_A=${{ github.workspace }}/flow/src { cat $SUPP_DIR_A/${{ env.san-suppress-cfg-in-file1 }} $SUPP_DIR_A/${{ env.san-suppress-cfg-in-file2 }} \ > ${{ env.san-suppress-cfg-file }} 2> /dev/null; } || true ${{ env.setup-tests-env }} - ./ipc_transport_structured_link_test.exec > logs/ipc_transport_structured_link_test/console.log 2>&1 + ./ipc_transport_structured_link_test.exec $OUT_DIR/log.log > $OUT_DIR/console.log 2>&1 - name: Run link test [`ipc_session` - Flow-IPC Sessions] if: | @@ -708,16 +710,17 @@ jobs: run: | # Run link test [`ipc_session` - Flow-IPC Sessions]. cd ${{ env.install-dir }}/bin - mkdir -p logs/ipc_session_link_test + OUT_DIR=logs/ipc_session_link_test + mkdir -p $OUT_DIR SUPP_DIR_A=${{ github.workspace }}/flow/src SUPP_DIR_B=${{ github.workspace }}/ipc_session/src { cat $SUPP_DIR_A/${{ env.san-suppress-cfg-in-file1 }} $SUPP_DIR_A/${{ env.san-suppress-cfg-in-file2 }} \ $SUPP_DIR_B/${{ env.san-suppress-cfg-in-file1 }} $SUPP_DIR_B/${{ env.san-suppress-cfg-in-file2 }} \ > ${{ env.san-suppress-cfg-file }} 2> /dev/null; } || true ${{ env.setup-tests-env }} - ./ipc_session_link_test_srv.exec > logs/ipc_session_link_test/srv.console.log 2>&1 & + ./ipc_session_link_test_srv.exec $OUT_DIR/srv.log > $OUT_DIR/srv.console.log 2>&1 & sleep 1 - ./ipc_session_link_test_cli.exec > logs/ipc_session_link_test/cli.console.log 2>&1 + ./ipc_session_link_test_cli.exec $OUT_DIR/cli.log > $OUT_DIR/cli.console.log 2>&1 - name: Run link test [`ipc_shm` - Flow-IPC Shared Memory] if: | @@ -725,16 +728,17 @@ jobs: run: | # Run link test [`ipc_shm` - Flow-IPC Shared Memory]. cd ${{ env.install-dir }}/bin - mkdir -p logs/ipc_shm_link_test + OUT_DIR=logs/ipc_shm_link_test + mkdir -p $OUT_DIR SUPP_DIR_A=${{ github.workspace }}/flow/src SUPP_DIR_B=${{ github.workspace }}/ipc_session/src { cat $SUPP_DIR_A/${{ env.san-suppress-cfg-in-file1 }} $SUPP_DIR_A/${{ env.san-suppress-cfg-in-file2 }} \ $SUPP_DIR_B/${{ env.san-suppress-cfg-in-file1 }} $SUPP_DIR_B/${{ env.san-suppress-cfg-in-file2 }} \ > ${{ env.san-suppress-cfg-file }} 2> /dev/null; } || true ${{ env.setup-tests-env }} - ./ipc_shm_link_test_srv.exec > logs/ipc_shm_link_test/srv.console.log 2>&1 & + ./ipc_shm_link_test_srv.exec $OUT_DIR/srv.log > $OUT_DIR/srv.console.log 2>&1 & sleep 1 - ./ipc_shm_link_test_cli.exec > logs/ipc_shm_link_test/cli.console.log 2>&1 + ./ipc_shm_link_test_cli.exec $OUT_DIR/cli.log > $OUT_DIR/cli.console.log 2>&1 - name: Run link test [`ipc_shm_arena_lend` - Flow-IPC SHM-jemalloc] if: | @@ -742,7 +746,8 @@ jobs: run: | # Run link test [`ipc_shm_arena_lend` - Flow-IPC SHM-jemalloc]. cd ${{ env.install-dir }}/bin - mkdir -p logs/ipc_shm_arena_lend_link_test + OUT_DIR=logs/ipc_shm_arena_lend_link_test + mkdir -p $OUT_DIR SUPP_DIR_A=${{ github.workspace }}/flow/src SUPP_DIR_B=${{ github.workspace }}/ipc_session/src SUPP_DIR_C=${{ github.workspace }}/ipc_shm_arena_lend/src @@ -751,9 +756,9 @@ jobs: $SUPP_DIR_C/${{ env.san-suppress-cfg-in-file1 }} $SUPP_DIR_C/${{ env.san-suppress-cfg-in-file2 }} \ > ${{ env.san-suppress-cfg-file }} 2> /dev/null; } || true ${{ env.setup-tests-env }} - ./ipc_shm_arena_lend_link_test_srv.exec > logs/ipc_shm_arena_lend_link_test/srv.console.log 2>&1 & + ./ipc_shm_arena_lend_link_test_srv.exec $OUT_DIR/srv.log > $OUT_DIR/srv.console.log 2>&1 & sleep 1 - ./ipc_shm_arena_lend_link_test_cli.exec > logs/ipc_shm_arena_lend_link_test/cli.console.log 2>&1 + ./ipc_shm_arena_lend_link_test_cli.exec $OUT_DIR/cli.log > $OUT_DIR/cli.console.log 2>&1 - name: Run unit tests if: | From 2ede37acf3aa719a1ce039e21f00f0c2b33d0656 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Fri, 23 Feb 2024 22:44:51 -0800 Subject: [PATCH 05/26] Updating submodules. --- ipc_core | 2 +- ipc_session | 2 +- ipc_shm | 2 +- ipc_shm_arena_lend | 2 +- ipc_transport_structured | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ipc_core b/ipc_core index 39d3a004f..cf5b7f898 160000 --- a/ipc_core +++ b/ipc_core @@ -1 +1 @@ -Subproject commit 39d3a004feca7b7cf22528f7ef28263c1ab5779d +Subproject commit cf5b7f898c058923fc0a2862c3a76707b02696b0 diff --git a/ipc_session b/ipc_session index 524eaa3b1..16f46a8a4 160000 --- a/ipc_session +++ b/ipc_session @@ -1 +1 @@ -Subproject commit 524eaa3b16a4ea9d3e8ce53b2104b2e22194a6a8 +Subproject commit 16f46a8a422aca4b772f372f39b0044751638f63 diff --git a/ipc_shm b/ipc_shm index 7a80e681d..218317a18 160000 --- a/ipc_shm +++ b/ipc_shm @@ -1 +1 @@ -Subproject commit 7a80e681dedfc76ff4bcd850a2558708d9072766 +Subproject commit 218317a18b5b56d182a8ce08e67ffa4b439d80de diff --git a/ipc_shm_arena_lend b/ipc_shm_arena_lend index b9e336e07..4e52e12dc 160000 --- a/ipc_shm_arena_lend +++ b/ipc_shm_arena_lend @@ -1 +1 @@ -Subproject commit b9e336e07a9e8322a961539e11025a13f49971f2 +Subproject commit 4e52e12dcc908324d39feb2e705c8096ae1d14d8 diff --git a/ipc_transport_structured b/ipc_transport_structured index f2eccc9c5..0bba45733 160000 --- a/ipc_transport_structured +++ b/ipc_transport_structured @@ -1 +1 @@ -Subproject commit f2eccc9c57516e7ad9e717c70a705face5ffb35a +Subproject commit 0bba45733680653d82564eb7e2473697fbf1882b From a37e5987757930c194ee7587957b79980660b1fb Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Fri, 23 Feb 2024 23:04:29 -0800 Subject: [PATCH 06/26] Updating submodules. --- ipc_core | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipc_core b/ipc_core index cf5b7f898..dbd095a2d 160000 --- a/ipc_core +++ b/ipc_core @@ -1 +1 @@ -Subproject commit cf5b7f898c058923fc0a2862c3a76707b02696b0 +Subproject commit dbd095a2db26002451c1bfc0a441683f81eeb222 From 622ea7f0711ea1e124f8fa5a57304e9b2e51f6dc Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Fri, 23 Feb 2024 23:44:46 -0800 Subject: [PATCH 07/26] (semi-experimental) Slight CMake script tweak in prep for VERSION auto-lookup. --- CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index efffdf351..f847e30e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,8 +28,6 @@ set(PROJ_CAMEL "Ipc") set(PROJ_VERSION "1.0.0") set(PROJ_HUMAN "Flow-IPC") -project(${PROJ_CAMEL} VERSION ${PROJ_VERSION} LANGUAGES CXX) - # The children below rely on this being set and its value to detect they're part of the meta-project, # as opposed to being loaded separately, and then to load needed things off this place. # So in *nix setting this indicates to each kid below that they're a part of one big `make`. @@ -129,6 +127,7 @@ endforeach() # that would also get built just as for each of the IPC_META_PROJECTs. We'd still just need the following line; # no changes.) +project(${PROJ_CAMEL} VERSION ${PROJ_VERSION} LANGUAGES CXX) include("${IPC_META_ROOT_flow}/tools/cmake/FlowLikeCodeGenerate.cmake") # As noted in the summary FlowLikeCodeGenerate.cmake does not do doc generation. From cc8b52135b8b831b2f41f7bb5c74d4f785d06230 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sat, 24 Feb 2024 00:02:04 -0800 Subject: [PATCH 08/26] (semi-experimental) Slight CMake script tweak in prep for VERSION auto-lookup: part deux --- CMakeLists.txt | 29 ++++++++++++------------ README.md | 6 ++--- test/suite/transport_test/CMakeLists.txt | 4 ++-- test/suite/unit_test/CMakeLists.txt | 24 ++++++++++---------- 4 files changed, 31 insertions(+), 32 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f847e30e0..b896f3643 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,7 +33,7 @@ set(PROJ_HUMAN "Flow-IPC") # So in *nix setting this indicates to each kid below that they're a part of one big `make`. # (Whereas otherwise each kid is on its own and assumes the all its dependencies have had `make` and `make install` # done, and the exported stuff is somewhere the `make` will know to search.) -set(IPC_META_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) +set(FLOW_LIKE_META_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) # The following might be a little tough to realize if looking through multiple layers of CMake scripts, so # for your convenience let's summarize how we do the whole thing. @@ -97,19 +97,19 @@ foreach(ipc_meta_project ${IPC_META_PROJECTS}) set(ipc_meta_project_dir "") endif() - set(IPC_META_ROOT_${ipc_meta_project} ${ipc_meta_project_dir} CACHE STRING + set(FLOW_LIKE_META_ROOT_${ipc_meta_project} ${ipc_meta_project_dir} CACHE STRING "Location of sub-project [${ipc_meta_project}]; defaults to resolved [./${ipc_meta_project}] if exists.") - if(NOT (EXISTS ${IPC_META_ROOT_${ipc_meta_project}})) - message(FATAL_ERROR "[${IPC_META_ROOT_${ipc_meta_project}}] does not exist. Therefore: " - "Unable to determine IPC_META_ROOT_${ipc_meta_project}; either symlink " + if(NOT (EXISTS ${FLOW_LIKE_META_ROOT_${ipc_meta_project}})) + message(FATAL_ERROR "[${FLOW_LIKE_META_ROOT_${ipc_meta_project}}] does not exist. Therefore: " + "Unable to determine FLOW_LIKE_META_ROOT_${ipc_meta_project}; either symlink " "[./${ipc_meta_project}], place sub-project there directly, or set " "cache setting explicitly. You may need to now clear cache (or blow away build) " "for the symlink or direct-placement methods to work.") endif() list(POP_BACK CMAKE_MESSAGE_INDENT) - message(CHECK_PASS "(Path = [${IPC_META_ROOT_${ipc_meta_project}}]; it exists.)") + message(CHECK_PASS "(Path = [${FLOW_LIKE_META_ROOT_${ipc_meta_project}}]; it exists.)") endblock() endforeach() @@ -117,7 +117,7 @@ endforeach() # add_subdirectory() within the above loop. foreach(ipc_meta_project ${IPC_META_PROJECTS}) # Finally! Note in the build output the name is normalized to simply ${ipc_meta_project} (e.g., "flow"). - add_subdirectory(${IPC_META_ROOT_${ipc_meta_project}} ${ipc_meta_project}) + add_subdirectory(${FLOW_LIKE_META_ROOT_${ipc_meta_project}} ${ipc_meta_project}) endforeach() # Going back to the summary comment, we're now done with the sub-projects' code generation and, where applicable, @@ -127,15 +127,14 @@ endforeach() # that would also get built just as for each of the IPC_META_PROJECTs. We'd still just need the following line; # no changes.) -project(${PROJ_CAMEL} VERSION ${PROJ_VERSION} LANGUAGES CXX) -include("${IPC_META_ROOT_flow}/tools/cmake/FlowLikeCodeGenerate.cmake") +include("${FLOW_LIKE_META_ROOT_flow}/tools/cmake/FlowLikeCodeGenerate.cmake") # As noted in the summary FlowLikeCodeGenerate.cmake does not do doc generation. # FlowLikeDocGenerate.cmake does that; and it's up to each project root CMake script to include() it. # So let's do it, much like flow/CMakeLists.txt (which handles its own docs) does. # See this guy; it'll explain inside. It mandates the following procedure and documents details. -set(DOC_GEN_CMAKE_SCRIPT "${IPC_META_ROOT_flow}/tools/cmake/FlowLikeDocGenerate.cmake") +set(DOC_GEN_CMAKE_SCRIPT "${FLOW_LIKE_META_ROOT_flow}/tools/cmake/FlowLikeDocGenerate.cmake") # It may also be instructive to contrast with `flow`'s CMakeLists.txt. # - Flow has its own self-contained doc generation, though it uses the same FlowLikeDocGenerate utility. @@ -145,11 +144,11 @@ set(DOC_GEN_CMAKE_SCRIPT "${IPC_META_ROOT_flow}/tools/cmake/FlowLikeDocGenerate. # - Therefore you see src/doc/manual, which lives directly inside this meta-project as opposed to any kid. set(DOC_INPUT - ${IPC_META_ROOT_ipc_core}/src/ipc - ${IPC_META_ROOT_ipc_transport_structured}/src/ipc - ${IPC_META_ROOT_ipc_session}/src/ipc - ${IPC_META_ROOT_ipc_shm}/src/ipc - ${IPC_META_ROOT_ipc_shm_arena_lend}/src/ipc + ${FLOW_LIKE_META_ROOT_ipc_core}/src/ipc + ${FLOW_LIKE_META_ROOT_ipc_transport_structured}/src/ipc + ${FLOW_LIKE_META_ROOT_ipc_session}/src/ipc + ${FLOW_LIKE_META_ROOT_ipc_shm}/src/ipc + ${FLOW_LIKE_META_ROOT_ipc_shm_arena_lend}/src/ipc src/doc/manual) # For now I (ygoldfel) am excluding echan's SHM-jemalloc stuff which *has* been integrated into Flow-IPC diff --git a/README.md b/README.md index 08eeba6a1..f27da1ddf 100644 --- a/README.md +++ b/README.md @@ -296,14 +296,14 @@ pretty easy to have this Flow-IPC meta-project work with such a source tree. Th a Flow-IPC `*_full.tar.gz` or `*_full.zip` archive, you can rename or delete the existing `./flow` before setting the symlink. - You can specify a different Flow project root entirely; use the CMake knob (cache setting) named - `IPC_META_ROOT_flow` to specify the path to this directory. So `cmake -DIPC_META_ROOT_flow=...` + `FLOW_LIKE_META_ROOT_flow` to specify the path to this directory. So `cmake -DFLOW_LIKE_META_ROOT_flow=...` (or `ccmake ...same...`). - In this case `./flow` will be ignored (whether or not it exists). Actually, one can use either of those 2 technique for some or all of the `ipc_{core|transport_structured|session|shm|shm_arena_lend}` sub-projects as well. -The symlink or cache-setting name would be not `flow` or `IPC_META_ROOT_flow` but instead -`ipc_{...|...|...|...|...}` or `IPC_META_ROOT_ipc_{...|...|...|...|...}`, respectively, +The symlink or cache-setting name would be not `flow` or `FLOW_LIKE_META_ROOT_flow` but instead +`ipc_{...|...|...|...|...}` or `FLOW_LIKE_META_ROOT_ipc_{...|...|...|...|...}`, respectively, depending on the sub-project in question. That said it will only work if it is indeed a bona-fide open-source tree with a root `CMakeLists.txt` diff --git a/test/suite/transport_test/CMakeLists.txt b/test/suite/transport_test/CMakeLists.txt index 301913087..ef76d0de7 100644 --- a/test/suite/transport_test/CMakeLists.txt +++ b/test/suite/transport_test/CMakeLists.txt @@ -28,8 +28,8 @@ set(NAME_ROOT transport_test) set(NAME "${NAME_ROOT}.exec") # Please see explanation in ipc_session's src/CMakeLists.txt for why we do the following. -set(CAPNPC_IMPORT_DIRS ${IPC_META_ROOT_ipc_transport_structured}/src - ${IPC_META_ROOT_ipc_shm}/src) +set(CAPNPC_IMPORT_DIRS ${FLOW_LIKE_META_ROOT_ipc_transport_structured}/src + ${FLOW_LIKE_META_ROOT_ipc_shm}/src) capnp_generate_cpp(capnp_generated_srcs capnp_generated_hdrs_ignored "ex.capnp") diff --git a/test/suite/unit_test/CMakeLists.txt b/test/suite/unit_test/CMakeLists.txt index 9a84d2ec9..b5f8b14c2 100644 --- a/test/suite/unit_test/CMakeLists.txt +++ b/test/suite/unit_test/CMakeLists.txt @@ -101,10 +101,10 @@ function(handle_binary name) # Load SRCS and CAPNP_SCHEMAS before calling. # each other (namely the support files are). For that to work add the source dir(s) into the include-path. target_include_directories(${name} PRIVATE ${GTEST_INCLUDE_DIR} - ${IPC_META_ROOT_ipc_core}/src - ${IPC_META_ROOT_ipc_transport_structured}/src - ${IPC_META_ROOT_ipc_session}/src - ${IPC_META_ROOT_ipc_shm}/src + ${FLOW_LIKE_META_ROOT_ipc_core}/src + ${FLOW_LIKE_META_ROOT_ipc_transport_structured}/src + ${FLOW_LIKE_META_ROOT_ipc_session}/src + ${FLOW_LIKE_META_ROOT_ipc_shm}/src ${isal_root} # So that generated-above .capnp.h are found by SRCS' .cpps' `#include`s.: ${CMAKE_CURRENT_BINARY_DIR}) @@ -120,12 +120,12 @@ function(handle_binary name) # Load SRCS and CAPNP_SCHEMAS before calling. RUNTIME DESTINATION bin) endfunction() -set(isal_root ${IPC_META_ROOT_ipc_shm_arena_lend}/src) +set(isal_root ${FLOW_LIKE_META_ROOT_ipc_shm_arena_lend}/src) set(SRCS - ${IPC_META_ROOT_ipc_core}/src/ipc/test/test_common_util.cpp - ${IPC_META_ROOT_ipc_core}/src/ipc/test/test_config.cpp - ${IPC_META_ROOT_ipc_core}/src/ipc/test/test_file_util.cpp + ${FLOW_LIKE_META_ROOT_ipc_core}/src/ipc/test/test_common_util.cpp + ${FLOW_LIKE_META_ROOT_ipc_core}/src/ipc/test/test_config.cpp + ${FLOW_LIKE_META_ROOT_ipc_core}/src/ipc/test/test_file_util.cpp ${isal_root}/ipc/session/standalone/shm/arena_lend/jemalloc/test/shm_session_test.cpp ${isal_root}/ipc/session/standalone/shm/arena_lend/jemalloc/test/test_shm_session_server.cpp ${isal_root}/ipc/session/standalone/shm/arena_lend/jemalloc/test/test_shm_session_server_executor.cpp @@ -163,16 +163,16 @@ set(CAPNP_SCHEMAS handle_binary(libipc_unit_test.exec) set(SRCS - ${IPC_META_ROOT_ipc_core}/src/ipc/test/test_common_util.cpp - ${IPC_META_ROOT_ipc_core}/src/ipc/test/test_config.cpp + ${FLOW_LIKE_META_ROOT_ipc_core}/src/ipc/test/test_common_util.cpp + ${FLOW_LIKE_META_ROOT_ipc_core}/src/ipc/test/test_config.cpp ${isal_root}/ipc/shm/arena_lend/test/test_borrower.cpp test_borrower_main.cpp) unset(CAPNP_SCHEMAS) handle_binary(libipc_test_borrower.exec) set(SRCS - ${IPC_META_ROOT_ipc_core}/src/ipc/test/test_common_util.cpp - ${IPC_META_ROOT_ipc_core}/src/ipc/test/test_file_util.cpp + ${FLOW_LIKE_META_ROOT_ipc_core}/src/ipc/test/test_common_util.cpp + ${FLOW_LIKE_META_ROOT_ipc_core}/src/ipc/test/test_file_util.cpp ${isal_root}/ipc/session/standalone/shm/arena_lend/jemalloc/test/test_shm_session_server_executor.cpp ${isal_root}/ipc/session/standalone/shm/arena_lend/jemalloc/test/test_shm_session_server.cpp ${isal_root}/ipc/shm/arena_lend/test/test_shm_object.cpp From 1571ded706bd1ca1c2331acd4f0e762729f46dfc Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sat, 24 Feb 2024 00:16:42 -0800 Subject: [PATCH 09/26] (semi-experiment: cont) --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index b896f3643..3da626040 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,6 +34,7 @@ set(PROJ_HUMAN "Flow-IPC") # (Whereas otherwise each kid is on its own and assumes the all its dependencies have had `make` and `make install` # done, and the exported stuff is somewhere the `make` will know to search.) set(FLOW_LIKE_META_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) +include("${FLOW_LIKE_META_ROOT_flow}/tools/cmake/FlowLikeProject.cmake") # The following might be a little tough to realize if looking through multiple layers of CMake scripts, so # for your convenience let's summarize how we do the whole thing. From f9e6b19c633f0412f1138f17723e3520aee2e597 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sat, 24 Feb 2024 00:18:19 -0800 Subject: [PATCH 10/26] (semi-experiment: cont) --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3da626040..1fe0f5ded 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,7 +34,6 @@ set(PROJ_HUMAN "Flow-IPC") # (Whereas otherwise each kid is on its own and assumes the all its dependencies have had `make` and `make install` # done, and the exported stuff is somewhere the `make` will know to search.) set(FLOW_LIKE_META_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) -include("${FLOW_LIKE_META_ROOT_flow}/tools/cmake/FlowLikeProject.cmake") # The following might be a little tough to realize if looking through multiple layers of CMake scripts, so # for your convenience let's summarize how we do the whole thing. @@ -114,6 +113,8 @@ foreach(ipc_meta_project ${IPC_META_PROJECTS}) endblock() endforeach() +include("${FLOW_LIKE_META_ROOT_flow}/tools/cmake/FlowLikeProject.cmake") + # Got through that; now actually do the add_subdirectory()s. Output/error handling is crisper this way than doing # add_subdirectory() within the above loop. foreach(ipc_meta_project ${IPC_META_PROJECTS}) From 0ad84eec68c9f6b9c0995b01e97d2999d32fc035 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sat, 24 Feb 2024 22:00:49 -0800 Subject: [PATCH 11/26] (semi-experiment: cont) --- CMakeLists.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1fe0f5ded..66d94c923 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -113,10 +113,11 @@ foreach(ipc_meta_project ${IPC_META_PROJECTS}) endblock() endforeach() -include("${FLOW_LIKE_META_ROOT_flow}/tools/cmake/FlowLikeProject.cmake") +include("${FLOW_LIKE_META_ROOT_flow}/tools/cmake/FlowLikeProject.cmake") # Determine $PROJ_VERSION, at least. +project(${PROJ_CAMEL} VERSION ${PROJ_VERSION} DESCRIPTION ${PROJ_HUMAN} LANGUAGES CXX) -# Got through that; now actually do the add_subdirectory()s. Output/error handling is crisper this way than doing -# add_subdirectory() within the above loop. +# Got through that; now actually do the add_subdirectory()s. This needs to below the project() call just above. +# (Also, output/error handling is crisper this way than doing add_subdirectory() within the above loop.) foreach(ipc_meta_project ${IPC_META_PROJECTS}) # Finally! Note in the build output the name is normalized to simply ${ipc_meta_project} (e.g., "flow"). add_subdirectory(${FLOW_LIKE_META_ROOT_${ipc_meta_project}} ${ipc_meta_project}) From 64de854d2e1079ae089bb1bcdfff58886c95ce03 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sat, 24 Feb 2024 23:05:17 -0800 Subject: [PATCH 12/26] First VERSION file. --- VERSION | 1 + 1 file changed, 1 insertion(+) create mode 100644 VERSION diff --git a/VERSION b/VERSION new file mode 100644 index 000000000..3eefcb9dd --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +1.0.0 From 1f87ff057a20e2243a91e0839c433c0540c1ed95 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sat, 24 Feb 2024 23:06:11 -0800 Subject: [PATCH 13/26] Updating submodules: pulling in automatic VERSION detection. --- flow | 2 +- ipc_core | 2 +- ipc_session | 2 +- ipc_shm | 2 +- ipc_shm_arena_lend | 2 +- ipc_transport_structured | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/flow b/flow index c1f5d2620..8c0766bc8 160000 --- a/flow +++ b/flow @@ -1 +1 @@ -Subproject commit c1f5d2620eedb212c83095a67f04ae40b51696a5 +Subproject commit 8c0766bc8d706e0f659af0d36dab9dc5f15d2d99 diff --git a/ipc_core b/ipc_core index dbd095a2d..d444214a4 160000 --- a/ipc_core +++ b/ipc_core @@ -1 +1 @@ -Subproject commit dbd095a2db26002451c1bfc0a441683f81eeb222 +Subproject commit d444214a45de2c8ff8b133a64b661215f314358d diff --git a/ipc_session b/ipc_session index 16f46a8a4..fa2b355f7 160000 --- a/ipc_session +++ b/ipc_session @@ -1 +1 @@ -Subproject commit 16f46a8a422aca4b772f372f39b0044751638f63 +Subproject commit fa2b355f7f1111c330096a2bb13cbcaeccd58272 diff --git a/ipc_shm b/ipc_shm index 218317a18..6aa1ca7e1 160000 --- a/ipc_shm +++ b/ipc_shm @@ -1 +1 @@ -Subproject commit 218317a18b5b56d182a8ce08e67ffa4b439d80de +Subproject commit 6aa1ca7e11ca9ec1ac47c6692553ec978e4a5b75 diff --git a/ipc_shm_arena_lend b/ipc_shm_arena_lend index 4e52e12dc..8c005e83c 160000 --- a/ipc_shm_arena_lend +++ b/ipc_shm_arena_lend @@ -1 +1 @@ -Subproject commit 4e52e12dcc908324d39feb2e705c8096ae1d14d8 +Subproject commit 8c005e83c7ce0664084359956f86fa23182f349d diff --git a/ipc_transport_structured b/ipc_transport_structured index 0bba45733..4484e7970 160000 --- a/ipc_transport_structured +++ b/ipc_transport_structured @@ -1 +1 @@ -Subproject commit 0bba45733680653d82564eb7e2473697fbf1882b +Subproject commit 4484e797060d49931a92a3e5cf20cf5ce4eb2562 From af67b4ff526955d5d4f47409cb6b6a2259bec69a Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sat, 24 Feb 2024 23:36:54 -0800 Subject: [PATCH 14/26] Read version from ./VERSION, same as CMake script now does. (Existing code had it hard-coded to 1.0 in conanfile.py.) Also opportunistic code-reuse improvement for Doxygen version. --- conanfile.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/conanfile.py b/conanfile.py index c568f8eef..5559e0e69 100644 --- a/conanfile.py +++ b/conanfile.py @@ -1,11 +1,20 @@ from conan import ConanFile from conan.tools.cmake import CMake, cmake_layout, CMakeDeps, CMakeToolchain +def load_version_from_file(): # TODO: Code-reuse from flow/conanfile.py? + version_path = './VERSION' + with open(version_path, 'r') as version_file: + # Read the entire file content and strip whitespace (matches what FlowLikeProject.cmake does). + version = version_file.read().strip() + return version + class IpcRecipe(ConanFile): name = "ipc" - version = "1.0" + version = load_version_from_file() settings = "os", "compiler", "build_type", "arch" + DOXYGEN_VERSION = "1.9.4" + options = { "build": [True, False], "build_no_lto": [True, False], @@ -39,8 +48,7 @@ def configure(self): def generate(self): deps = CMakeDeps(self) if self.options.doc: - # TODO: This magic version number is repeated several times. Code reuse. - deps.build_context_activated = ["doxygen/1.9.4"] + deps.build_context_activated = ["doxygen/{self.DOXYGEN_VERSION}"] deps.generate() toolchain = CMakeToolchain(self) @@ -98,7 +106,7 @@ def requirements(self): def build_requirements(self): self.tool_requires("cmake/3.26.3") if self.options.doc: - self.tool_requires("doxygen/1.9.4") + self.tool_requires("doxygen/{self.DOXYGEN_VERSION}") def package(self): cmake = CMake(self) From 120f705dc3b77c82b02c7ea3571f898d2ffe48ea Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sat, 24 Feb 2024 23:37:58 -0800 Subject: [PATCH 15/26] Updating submodules. --- flow | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flow b/flow index 8c0766bc8..5c18aeea6 160000 --- a/flow +++ b/flow @@ -1 +1 @@ -Subproject commit 8c0766bc8d706e0f659af0d36dab9dc5f15d2d99 +Subproject commit 5c18aeea6890de237916d3807f49dee8b6fdd3ce From b5d3d1a6fd0efc6d455e5b22648c24782685bd37 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sat, 24 Feb 2024 23:38:19 -0800 Subject: [PATCH 16/26] (WIP) --- .github/workflows/main.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bea2c8f83..3c6404147 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -104,6 +104,18 @@ jobs: needs: set-vars runs-on: ubuntu-latest steps: + - name: Checkout VERSION file and tag history + uses: actions/checkout@v4 + with: + path: 'version_work' + sparse-checkout: VERSION + fetch-depth: 0 # Get all history regarding tags. + - name: Checkout VERSION file and tag history XXX + uses: actions/checkout@v4 + with: + path: 'version_work2' + sparse-checkout: VERSIONXXX + fetch-depth: 0 # Get all history regarding tags. - id: compute_proceed_else_not name: Compute whether for main jobs to proceed or not # For checking whether github.event.head_commit.message starts with needs.set-vars.outputs.doc-commit-message @@ -123,7 +135,8 @@ jobs: if [ '${{ github.ref }}' != 'refs/heads/main' ] || \ [ '${{ github.event_name }}' != 'push' ] || \ ! { head --lines=1 $TMP_MSG | fgrep -xq '${{ needs.set-vars.outputs.doc-commit-message }}'; }; then - echo 'proceed-else-not=true' >> $GITHUB_OUTPUT + # XXX no! true! + echo 'proceed-else-not=false' >> $GITHUB_OUTPUT else echo 'proceed-else-not=false' >> $GITHUB_OUTPUT echo 'The real jobs will not run: earlier `doc-and-release` job checked-in generated docs to `main`.' From 91b3dda303f6e03ae2383655b9b3b6534f43eefb Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sun, 25 Feb 2024 01:01:25 -0800 Subject: [PATCH 17/26] WIP --- .github/workflows/main.yml | 61 +++++++++++++++++++++++++++++++++----- 1 file changed, 53 insertions(+), 8 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3c6404147..0c608b6da 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -107,15 +107,60 @@ jobs: - name: Checkout VERSION file and tag history uses: actions/checkout@v4 with: - path: 'version_work' sparse-checkout: VERSION - fetch-depth: 0 # Get all history regarding tags. - - name: Checkout VERSION file and tag history XXX - uses: actions/checkout@v4 - with: - path: 'version_work2' - sparse-checkout: VERSIONXXX - fetch-depth: 0 # Get all history regarding tags. + fetch-depth: 0 # Get all history regarding tags. We'll need that for VERSION checking below. + - name: Grab version in `VERSION` file in repository + id: repo_version + run: | + # Grab version in `VERSION` file in repository + if [ ! -e VERSION ]; then + echo '::error ::No VERSION file in repository root. One must exist.' + exit 1 + fi + VERSION=`cat VERSION` + echo "Determined version: [$VERSION]." + echo "version=$VERSION" >> $GITHUB_OUTPUT + - name: (On release creation only) Check repository version against release tag name + if: success() && (!cancelled()) && startsWith(github.ref, 'refs/tags/v') + run: | + # Check repository version against release tag name. + VERSION=${{ steps.repo_version.outputs.version }} + TAG_VERSION=${GITHUB_REF#refs/tags/v} + if [ "$VERSION" = "$TAG_VERSION" ]; then + echo ":notice file=VERSION::Tag name and repo version are an exact match. Looks good." + elif [[ "$TAG_VERSION" == "$VERSION-"* ]]; then + echo "::notice file=VERSION::Tag name [v$TAG_VERSION] starts with repo version (pre-release). Allowed." + else + echo "::error file=VERSION::VERSION file version v[$VERSION] must = release tag name [v$TAG_VERSION]." + echo "::error ::Suggest deleting release and tag, fixing VERSION if needed, and re-creating release/tag." + exit 1 + fi + # TODO: Would be nice to also grab release name and ensure it equals tag name v<...>. + # Could be a separate step or just execute here if the above succeeded so far. Requires API fetch, so it's + # a few lines. + - name: (Except on release creation) Check repository version against already-existing release tag names + if: success() && (!cancelled()) && startsWith(github.ref, 'refs/tags/v') + run: | + # Check repo version against release tag name. + # Do not fail on account of VERSION in this path however... just warn or gently inform. + VERSION=${{ steps.repo_version.outputs.version }} + if git rev-parse "v$VERSION" >/dev/null 2>&1; then + echo "::warning file=VERSION::Tag [v$VERSION] already exists. The repo/VERSION file will require "\ + "a bump, before the next release. However this should be done *just* ahead of release creation and must "\ + "follow semantic versioning conventions, especially regarding when to bump major/minor/patch components. "\ + "When ready to do this consult [https://semver.org/] as needed." + elif git tag | grep -q "^v$VERSION-"; then + echo "::warning file=VERSION::A pre-release tag [v$VERSION-*] already exists. The repo/VERSION file " + "will require a bump, before the next release. However this should be done *just* ahead of release " + "creation and must follow semantic versioning conventions, especially regarding when to bump " + "major/minor/patch components. When ready to do this consult [https://semver.org/] as needed." + else + echo "::notice file=VERSION::Since no tag [v$VERSION] or [v$VERSION-*] exists, this repo state "\ + "is likely intended for a future release. Cool! However, reminder: " + "The repo/VERSION version should be decided/finalized *just* ahead of release creation and must "\ + "follow semantic versioning conventions, especially regarding when to bump major/minor/patch components. "\ + "When ready to do this consult [https://semver.org/] as needed." + fi - id: compute_proceed_else_not name: Compute whether for main jobs to proceed or not # For checking whether github.event.head_commit.message starts with needs.set-vars.outputs.doc-commit-message From 5e6fb74a1993ce770f30ad9fd453c79b6209d733 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sun, 25 Feb 2024 01:02:45 -0800 Subject: [PATCH 18/26] Bug fix. --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0c608b6da..68619bd76 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -139,7 +139,7 @@ jobs: # Could be a separate step or just execute here if the above succeeded so far. Requires API fetch, so it's # a few lines. - name: (Except on release creation) Check repository version against already-existing release tag names - if: success() && (!cancelled()) && startsWith(github.ref, 'refs/tags/v') + if: success() && (!cancelled()) && (!startsWith(github.ref, 'refs/tags/v')) run: | # Check repo version against release tag name. # Do not fail on account of VERSION in this path however... just warn or gently inform. From 576f7ea3fcbfe098359a22f5aaf6060120eb1eb6 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sun, 25 Feb 2024 01:04:24 -0800 Subject: [PATCH 19/26] Bug fix. --- .github/workflows/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 68619bd76..a5be45f83 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -150,13 +150,13 @@ jobs: "follow semantic versioning conventions, especially regarding when to bump major/minor/patch components. "\ "When ready to do this consult [https://semver.org/] as needed." elif git tag | grep -q "^v$VERSION-"; then - echo "::warning file=VERSION::A pre-release tag [v$VERSION-*] already exists. The repo/VERSION file " - "will require a bump, before the next release. However this should be done *just* ahead of release " - "creation and must follow semantic versioning conventions, especially regarding when to bump " + echo "::warning file=VERSION::A pre-release tag [v$VERSION-*] already exists. The repo/VERSION file "\ + "will require a bump, before the next release. However this should be done *just* ahead of release "\ + "creation and must follow semantic versioning conventions, especially regarding when to bump "\ "major/minor/patch components. When ready to do this consult [https://semver.org/] as needed." else echo "::notice file=VERSION::Since no tag [v$VERSION] or [v$VERSION-*] exists, this repo state "\ - "is likely intended for a future release. Cool! However, reminder: " + "is likely intended for a future release. Cool! However, reminder: "\ "The repo/VERSION version should be decided/finalized *just* ahead of release creation and must "\ "follow semantic versioning conventions, especially regarding when to bump major/minor/patch components. "\ "When ready to do this consult [https://semver.org/] as needed." From 30e4c224bfbc8bf21eacc230602981763424eb68 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sun, 25 Feb 2024 01:11:33 -0800 Subject: [PATCH 20/26] Added workflow check for (1) VERSION version matching release tag name (when invoked against release tag); (2) VERSION matching or not matching a release tag name (when invoked in all other situations). TODO: Test (1); add similar for `flow`. --- .github/workflows/main.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a5be45f83..2aaee935e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -150,10 +150,12 @@ jobs: "follow semantic versioning conventions, especially regarding when to bump major/minor/patch components. "\ "When ready to do this consult [https://semver.org/] as needed." elif git tag | grep -q "^v$VERSION-"; then - echo "::warning file=VERSION::A pre-release tag [v$VERSION-*] already exists. The repo/VERSION file "\ - "will require a bump, before the next release. However this should be done *just* ahead of release "\ - "creation and must follow semantic versioning conventions, especially regarding when to bump "\ - "major/minor/patch components. When ready to do this consult [https://semver.org/] as needed." + echo "::notice file=VERSION::Since pre-release tag(s) [v$VERSION-*] already exist(s), but no tag "\ + "[v$VERSION] exists, this repo state is likely intended for a later pre-release or official release. "\ + "Cool! However, reminder: "\ + "The repo/VERSION version should be decided/finalized *just* ahead of release creation and must "\ + "follow semantic versioning conventions, especially regarding when to bump major/minor/patch components. "\ + "When ready to do this consult [https://semver.org/] as needed." else echo "::notice file=VERSION::Since no tag [v$VERSION] or [v$VERSION-*] exists, this repo state "\ "is likely intended for a future release. Cool! However, reminder: "\ From ca15508e40ccb9723a737424cb9e3902a2ea9d6f Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sun, 25 Feb 2024 01:12:14 -0800 Subject: [PATCH 21/26] (debug) --- .github/workflows/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2aaee935e..3cf27a28a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -182,8 +182,7 @@ jobs: if [ '${{ github.ref }}' != 'refs/heads/main' ] || \ [ '${{ github.event_name }}' != 'push' ] || \ ! { head --lines=1 $TMP_MSG | fgrep -xq '${{ needs.set-vars.outputs.doc-commit-message }}'; }; then - # XXX no! true! - echo 'proceed-else-not=false' >> $GITHUB_OUTPUT + echo 'proceed-else-not=true' >> $GITHUB_OUTPUT else echo 'proceed-else-not=false' >> $GITHUB_OUTPUT echo 'The real jobs will not run: earlier `doc-and-release` job checked-in generated docs to `main`.' From dcf3a8f4414de71e423a4542e9e0432265786828 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sun, 25 Feb 2024 01:15:36 -0800 Subject: [PATCH 22/26] Bug fix. --- conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conanfile.py b/conanfile.py index 5559e0e69..bf6a12090 100644 --- a/conanfile.py +++ b/conanfile.py @@ -48,7 +48,7 @@ def configure(self): def generate(self): deps = CMakeDeps(self) if self.options.doc: - deps.build_context_activated = ["doxygen/{self.DOXYGEN_VERSION}"] + deps.build_context_activated = [f"doxygen/{self.DOXYGEN_VERSION}"] deps.generate() toolchain = CMakeToolchain(self) @@ -106,7 +106,7 @@ def requirements(self): def build_requirements(self): self.tool_requires("cmake/3.26.3") if self.options.doc: - self.tool_requires("doxygen/{self.DOXYGEN_VERSION}") + self.tool_requires(f"doxygen/{self.DOXYGEN_VERSION}") def package(self): cmake = CMake(self) From d67552b16cd1842c070c6021453c124fb7eb231e Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sun, 25 Feb 2024 01:16:43 -0800 Subject: [PATCH 23/26] Tweak. --- .github/workflows/main.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3cf27a28a..f7ba517ac 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -127,11 +127,11 @@ jobs: VERSION=${{ steps.repo_version.outputs.version }} TAG_VERSION=${GITHUB_REF#refs/tags/v} if [ "$VERSION" = "$TAG_VERSION" ]; then - echo ":notice file=VERSION::Tag name and repo version are an exact match. Looks good." + echo ":notice ::Tag name and repo version are an exact match. Looks good." elif [[ "$TAG_VERSION" == "$VERSION-"* ]]; then - echo "::notice file=VERSION::Tag name [v$TAG_VERSION] starts with repo version (pre-release). Allowed." + echo "::notice ::Tag name [v$TAG_VERSION] starts with repo version (pre-release). Allowed." else - echo "::error file=VERSION::VERSION file version v[$VERSION] must = release tag name [v$TAG_VERSION]." + echo "::error ::VERSION file version v[$VERSION] must = release tag name [v$TAG_VERSION]." echo "::error ::Suggest deleting release and tag, fixing VERSION if needed, and re-creating release/tag." exit 1 fi @@ -145,19 +145,19 @@ jobs: # Do not fail on account of VERSION in this path however... just warn or gently inform. VERSION=${{ steps.repo_version.outputs.version }} if git rev-parse "v$VERSION" >/dev/null 2>&1; then - echo "::warning file=VERSION::Tag [v$VERSION] already exists. The repo/VERSION file will require "\ + echo "::warning ::Tag [v$VERSION] already exists. The repo/VERSION file will require "\ "a bump, before the next release. However this should be done *just* ahead of release creation and must "\ "follow semantic versioning conventions, especially regarding when to bump major/minor/patch components. "\ "When ready to do this consult [https://semver.org/] as needed." elif git tag | grep -q "^v$VERSION-"; then - echo "::notice file=VERSION::Since pre-release tag(s) [v$VERSION-*] already exist(s), but no tag "\ + echo "::notice ::Since pre-release tag(s) [v$VERSION-*] already exist(s), but no tag "\ "[v$VERSION] exists, this repo state is likely intended for a later pre-release or official release. "\ "Cool! However, reminder: "\ "The repo/VERSION version should be decided/finalized *just* ahead of release creation and must "\ "follow semantic versioning conventions, especially regarding when to bump major/minor/patch components. "\ "When ready to do this consult [https://semver.org/] as needed." else - echo "::notice file=VERSION::Since no tag [v$VERSION] or [v$VERSION-*] exists, this repo state "\ + echo "::notice ::Since no tag [v$VERSION] or [v$VERSION-*] exists, this repo state "\ "is likely intended for a future release. Cool! However, reminder: "\ "The repo/VERSION version should be decided/finalized *just* ahead of release creation and must "\ "follow semantic versioning conventions, especially regarding when to bump major/minor/patch components. "\ From a47d8b0961fef2e0274563af8fd74a0ab9289774 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sun, 25 Feb 2024 01:16:56 -0800 Subject: [PATCH 24/26] Updating submodules. --- flow | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flow b/flow index 5c18aeea6..8641d779d 160000 --- a/flow +++ b/flow @@ -1 +1 @@ -Subproject commit 5c18aeea6890de237916d3807f49dee8b6fdd3ce +Subproject commit 8641d779d6912e88fb8728bc9c8be67dc8efdd9c From 304d3d518a2347d4cc7a44c17cd7543999a6a4ee Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sun, 25 Feb 2024 17:14:36 -0800 Subject: [PATCH 25/26] Minor tweaks. --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f7ba517ac..4ba754259 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -109,10 +109,10 @@ jobs: with: sparse-checkout: VERSION fetch-depth: 0 # Get all history regarding tags. We'll need that for VERSION checking below. - - name: Grab version in `VERSION` file in repository + - name: Grab repository version from `VERSION` file id: repo_version run: | - # Grab version in `VERSION` file in repository + # Grab repository version from `VERSION` file. if [ ! -e VERSION ]; then echo '::error ::No VERSION file in repository root. One must exist.' exit 1 From 7167de9b22b8d4f8c958dc9fba2ef073af61535d Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Sun, 25 Feb 2024 18:00:26 -0800 Subject: [PATCH 26/26] Updating submodules. --- flow | 2 +- ipc_core | 2 +- ipc_session | 2 +- ipc_shm | 2 +- ipc_shm_arena_lend | 2 +- ipc_transport_structured | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/flow b/flow index 8641d779d..6532ead46 160000 --- a/flow +++ b/flow @@ -1 +1 @@ -Subproject commit 8641d779d6912e88fb8728bc9c8be67dc8efdd9c +Subproject commit 6532ead4663d1575135e5fcfbfc0a9688b795697 diff --git a/ipc_core b/ipc_core index d444214a4..d1292ef76 160000 --- a/ipc_core +++ b/ipc_core @@ -1 +1 @@ -Subproject commit d444214a45de2c8ff8b133a64b661215f314358d +Subproject commit d1292ef764350df2ee06391c7cade1c1924d5182 diff --git a/ipc_session b/ipc_session index fa2b355f7..2137019f5 160000 --- a/ipc_session +++ b/ipc_session @@ -1 +1 @@ -Subproject commit fa2b355f7f1111c330096a2bb13cbcaeccd58272 +Subproject commit 2137019f5d1e35cbf0e427d722e9fc273aa6b57a diff --git a/ipc_shm b/ipc_shm index 6aa1ca7e1..edde9a14c 160000 --- a/ipc_shm +++ b/ipc_shm @@ -1 +1 @@ -Subproject commit 6aa1ca7e11ca9ec1ac47c6692553ec978e4a5b75 +Subproject commit edde9a14ce46023553165081ceb326d133d011f9 diff --git a/ipc_shm_arena_lend b/ipc_shm_arena_lend index 8c005e83c..112281fab 160000 --- a/ipc_shm_arena_lend +++ b/ipc_shm_arena_lend @@ -1 +1 @@ -Subproject commit 8c005e83c7ce0664084359956f86fa23182f349d +Subproject commit 112281fab00cfb5c419c067f08a6a1c60d4d0f85 diff --git a/ipc_transport_structured b/ipc_transport_structured index 4484e7970..e15b44775 160000 --- a/ipc_transport_structured +++ b/ipc_transport_structured @@ -1 +1 @@ -Subproject commit 4484e797060d49931a92a3e5cf20cf5ce4eb2562 +Subproject commit e15b447754bafe9b669e8acf2f220d17a57e171f