Skip to content

Commit 5b0fc6d

Browse files
committed
Add CI builds to test io_uring support
1 parent fd03f03 commit 5b0fc6d

1 file changed

Lines changed: 47 additions & 2 deletions

File tree

.github/workflows/ci.yml

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -305,10 +305,52 @@ jobs:
305305
optim-level: -O0
306306
with-boost: --with-boost=$GITHUB_WORKSPACE/boost_1_83_0
307307
boost-url: https://archives.boost.io/release/1.83.0/source/boost_1_83_0.tar.bz2
308+
#
309+
# Linux / g++-12 -std=c++11 / -O2 / standalone / io_uring
310+
#
311+
- build-type: full
312+
runs-on: ubuntu-24.04
313+
compiler: g++-12
314+
cxx-std: c++11
315+
optim-level: -O2
316+
io-uring: -DASIO_HAS_IO_URING
317+
configure-libs: LIBS=-luring
318+
#
319+
# Linux / g++-12 -std=c++20 / -O2 / standalone / io_uring
320+
#
321+
- build-type: full
322+
runs-on: ubuntu-24.04
323+
compiler: g++-12
324+
cxx-std: c++20 -fcoroutines
325+
optim-level: -O2
326+
io-uring: -DASIO_HAS_IO_URING
327+
configure-libs: LIBS=-luring
328+
#
329+
# Linux / g++-12 -std=c++11 / -O2 / standalone / io_uring / epoll disabled
330+
#
331+
- build-type: full
332+
runs-on: ubuntu-24.04
333+
compiler: g++-12
334+
cxx-std: c++11
335+
optim-level: -O2
336+
select-reactor: -DASIO_DISABLE_EPOLL
337+
io-uring: -DASIO_HAS_IO_URING
338+
configure-libs: LIBS=-luring
339+
#
340+
# Linux / g++-12 -std=c++20 / -O2 / standalone / io_uring / epoll disabled
341+
#
342+
- build-type: full
343+
runs-on: ubuntu-24.04
344+
compiler: g++-12
345+
cxx-std: c++20 -fcoroutines
346+
optim-level: -O2
347+
select-reactor: -DASIO_DISABLE_EPOLL
348+
io-uring: -DASIO_HAS_IO_URING
349+
configure-libs: LIBS=-luring
308350
runs-on: ${{ matrix.runs-on }}
309351
env:
310352
CXX: ${{ matrix.compiler }}
311-
CXXFLAGS: -std=${{ matrix.cxx-std }} ${{ matrix.cxx-stdlib }} ${{ matrix.optim-level }} -Wall -Wextra ${{ matrix.no-deprecated }} ${{ matrix.select-reactor }} ${{ matrix.handler-tracking }}
353+
CXXFLAGS: -std=${{ matrix.cxx-std }} ${{ matrix.cxx-stdlib }} ${{ matrix.optim-level }} -Wall -Wextra ${{ matrix.no-deprecated }} ${{ matrix.select-reactor }} ${{ matrix.handler-tracking }} ${{ matrix.io-uring }}
312354
steps:
313355
- uses: actions/checkout@v4
314356
- name: Install autotools
@@ -317,14 +359,17 @@ jobs:
317359
- name: Install compiler
318360
if: startsWith(matrix.runs-on, 'ubuntu')
319361
run: sudo apt-get install -y ${{ matrix.compiler }}
362+
- name: Install liburing
363+
if: matrix.io-uring != ''
364+
run: sudo apt-get install -y liburing-dev
320365
- name: Install boost
321366
if: startsWith(matrix.with-boost, '--with-boost=$GITHUB_WORKSPACE')
322367
run: |
323368
wget --quiet -O - ${{ matrix.boost-url }} | tar -xj
324369
- name: Configure
325370
run: |
326371
./autogen.sh
327-
./configure ${{ matrix.separate-compilation }} ${{ matrix.with-boost }}
372+
./configure ${{ matrix.separate-compilation }} ${{ matrix.with-boost }} ${{ matrix.configure-libs }}
328373
- name: Line length check
329374
run: perl ./boostify.pl --includes-only
330375
- name: Sanity check

0 commit comments

Comments
 (0)