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

Re-add PHOTON_BUILD_DEPENDENCIES in CI workflow #608

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
28 changes: 0 additions & 28 deletions .github/workflows/ci.linux.arm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,31 +41,3 @@ jobs:
nohup redis-server &
ctest -E test-lockfree --timeout 3600 -V
pkill redis-server

gcc921-build-debug:
runs-on: [self-hosted, Linux, ARM64]

container:
image: ghcr.io/alibaba/photon-ut-base:latest
options: --cpus 4

steps:
- uses: szenius/[email protected]
with:
timezoneLinux: "Asia/Shanghai"
timezoneMacos: "Asia/Shanghai"
timezoneWindows: "China Standard Time"

- uses: actions/checkout@v4

- name: Build
run: |
source /opt/rh/gcc-toolset-9/enable
cmake -B build \
-D CMAKE_BUILD_TYPE=Debug \
-D PHOTON_ENABLE_ECOSYSTEM=ON \
-D PHOTON_BUILD_TESTING=ON \
-D PHOTON_ENABLE_SASL=ON \
-D PHOTON_ENABLE_FUSE=ON \
-D PHOTON_ENABLE_EXTFS=ON
cmake --build build -j $(nproc) -- VERBOSE=1
23 changes: 23 additions & 0 deletions .github/workflows/ci.linux.x86_64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,29 @@ jobs:
cd build && ctest -E test-lockfree --timeout 3600 -V
pkill redis-server

debug-build-from-source:
runs-on: ubuntu-latest
container:
image: almalinux:8
steps:
- uses: actions/checkout@v4
- name: Build
run: |
dnf -q -y install git gcc-c++ cmake gcc-toolset-9-gcc-c++ openssl-devel libcurl-devel
dnf -q -y install autoconf automake libtool
source /opt/rh/gcc-toolset-9/enable
cmake -B build -D CMAKE_BUILD_TYPE=Debug \
-D PHOTON_ENABLE_ECOSYSTEM=ON \
-D PHOTON_BUILD_TESTING=ON \
-D PHOTON_ENABLE_SASL=OFF \
-D PHOTON_ENABLE_FUSE=OFF \
-D PHOTON_ENABLE_URING=ON \
-D PHOTON_ENABLE_EXTFS=OFF \
-D PHOTON_BUILD_DEPENDENCIES=ON \
-D PHOTON_OPENSSL_SOURCE="" \
-D PHOTON_CURL_SOURCE=""
cmake --build build -j $(nproc) -- VERBOSE=1

fstack:
runs-on: ubuntu-latest
container:
Expand Down
9 changes: 8 additions & 1 deletion CMake/Finduring.cmake
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
set(URING_VERSION 2.3)

find_path(URING_INCLUDE_DIRS liburing.h)

find_library(URING_LIBRARIES uring)

find_package_handle_standard_args(uring DEFAULT_MSG URING_LIBRARIES URING_INCLUDE_DIRS)

mark_as_advanced(URING_INCLUDE_DIRS URING_LIBRARIES)
mark_as_advanced(URING_INCLUDE_DIRS URING_LIBRARIES)

get_filename_component(URING_LIB_BASE ${URING_LIBRARIES} DIRECTORY)
if (NOT EXISTS "${URING_LIB_BASE}/liburing.so.${URING_VERSION}")
message(FATAL_ERROR "Requires liburing ${URING_VERSION}. Install it to system or try -D PHOTON_BUILD_DEPENDENCIES=ON")
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should fix issues like #476 that users have installed liburing system-wide

endif ()
2 changes: 1 addition & 1 deletion CMake/build-from-src.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ function(build_from_src [dep])
ExternalProject_Get_Property(googletest SOURCE_DIR)
ExternalProject_Get_Property(googletest BINARY_DIR)
set(GOOGLETEST_INCLUDE_DIRS ${SOURCE_DIR}/googletest/include ${SOURCE_DIR}/googlemock/include PARENT_SCOPE)
set(GOOGLETEST_LIBRARIES ${BINARY_DIR}/lib/libgmock.a ${BINARY_DIR}/lib/libgtest.a PARENT_SCOPE)
set(GOOGLETEST_LIBRARIES ${BINARY_DIR}/lib/libgmock.a ${BINARY_DIR}/lib/libgtest_main.a ${BINARY_DIR}/lib/libgtest.a PARENT_SCOPE)

elseif (dep STREQUAL "openssl")
set(BINARY_DIR ${PROJECT_BINARY_DIR}/openssl-build)
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
[PhotonlibOS.github.io](https://photonlibos.github.io)

## What's New
* We present a article to illustrate why Photon's stackful coroutine is fast.
[link](https://photonlibos.github.io/blog/stackful-coroutine-made-fast)
* We present an article to illustrate the theory of Photon's coroutine.
[Stackful Coroutine Made Fast](https://photonlibos.github.io/blog/stackful-coroutine-made-fast)
* Version 0.8 has been released in August 2024
* Feb 2024,[中文文档](https://photonlibos.github.io/cn/docs/category/introduction)在官网上线了
* Since 0.7, Photon will use release branches to enhance the reliability of software delivery. Bugfix will be merged into a stable release at first, then to higher release versions, and finally main.
Expand Down
4 changes: 2 additions & 2 deletions common/test/test_objcache.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,11 @@ TEST(ObjectCache, ctor_may_yield_and_null) {
photon::thread_create(&ph_act, &a);
}
sem.wait(10);
EXPECT_EQ(1, ocache._set.size());
EXPECT_EQ(1UL, ocache._set.size());
ocache.expire();
photon::thread_usleep(1100UL * 1000);
ocache.expire();
EXPECT_EQ(0, ocache._set.size());
EXPECT_EQ(0UL, ocache._set.size());
}

TEST(ObjectCache, multithread) {
Expand Down
3 changes: 3 additions & 0 deletions doc/blog/2024-10-14-stackful-coroutine-made-fast.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,7 @@ slug: stackful-coroutine-made-fast
title: Stackful Coroutine Made Fast
---

<a href="https://github.com/alibaba/PhotonLibOS/blob/main/doc/static/blog-20241014/Stackful_Coroutine_Made_Fast.pdf">
Download pdf</a>

<iframe src='/blog-20241014/stackful-coroutine-made-fast.html' width="100%" height="30000"></iframe>
2 changes: 1 addition & 1 deletion fs/test/test_exportfs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ static std::atomic<int> work(0);

template<typename T, uint64_t val>
int callback(void*, AsyncResult<T>* ret) {
EXPECT_EQ(val, ret->result);
EXPECT_EQ(val, (uint64_t) ret->result);
LOG_DEBUG("DONE `", VALUE(ret->operation));
work--;
return 0;
Expand Down
4 changes: 2 additions & 2 deletions io/iouring-wrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ class iouringEngine : public MasterEventEngine, public CascadingEventEngine, pub
ioCtx timer_ctx(true, false);
__kernel_timespec ts;
auto usec = timeout.timeout_us();
if (usec < std::numeric_limits<int64_t>::max()) {
if (usec < (uint64_t) std::numeric_limits<int64_t>::max()) {
sqe->flags |= IOSQE_IO_LINK;
ts = usec_to_timespec(usec);
sqe = _get_sqe();
Expand Down Expand Up @@ -334,7 +334,7 @@ class iouringEngine : public MasterEventEngine, public CascadingEventEngine, pub

ssize_t wait_and_fire_events(uint64_t timeout) override {
// Prepare own timeout
if (timeout > std::numeric_limits<int64_t>::max()) {
if (timeout > (uint64_t) std::numeric_limits<int64_t>::max()) {
timeout = std::numeric_limits<int64_t>::max();
}

Expand Down
8 changes: 4 additions & 4 deletions thread/test/test-pool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ TEST(workpool, async_work_lambda) {
new auto ([r]() {
LOG_INFO("START ", VALUE(__cplusplus), VALUE(r->copy),
VALUE(r->move));
EXPECT_EQ(0, r->copy);
EXPECT_EQ(0UL, r->copy);
this_thread::sleep_for(std::chrono::seconds(1));
LOG_INFO("FINISH");
delete r;
Expand All @@ -200,7 +200,7 @@ TEST(workpool, async_work_lambda_threadcreate) {
new auto ([&sem, r]() {
LOG_INFO("START ", VALUE(__cplusplus), VALUE(r->copy),
VALUE(r->move));
EXPECT_EQ(0, r->copy);
EXPECT_EQ(0UL, r->copy);
thread_sleep(1);
sem.signal(1);
LOG_INFO("FINISH");
Expand Down Expand Up @@ -229,7 +229,7 @@ TEST(workpool, async_work_lambda_threadpool) {
new auto ([&sem, r]() {
LOG_INFO("START ", VALUE(__cplusplus), VALUE(r->copy),
VALUE(r->move));
EXPECT_EQ(0, r->copy);
EXPECT_EQ(0UL, r->copy);
thread_sleep(1);
sem.signal(1);
LOG_INFO("FINISH");
Expand Down Expand Up @@ -267,7 +267,7 @@ TEST(workpool, async_work_lambda_threadpool_append) {
new auto ([&sem, r]() {
LOG_INFO("START ", VALUE(__cplusplus), VALUE(r->copy),
VALUE(r->move));
EXPECT_EQ(0, r->copy);
EXPECT_EQ(0UL, r->copy);
thread_sleep(1);
sem.signal(1);
LOG_INFO("FINISH");
Expand Down
Loading