Skip to content

Commit

Permalink
Re-add PHOTON_BUILD_DEPENDENCIES in CI workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
beef9999 committed Oct 26, 2024
1 parent 693f540 commit d5071c6
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 33 deletions.
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
21 changes: 21 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,27 @@ 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++
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
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")
endif ()
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
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>
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

0 comments on commit d5071c6

Please sign in to comment.