FIX: lockfree MPMC queue should not fail to pop/push when queue is not empty/full #844
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Linux x86 | |
on: | |
push: | |
branches: [ "main", "release/*" ] | |
pull_request: | |
branches: [ "main", "release/*" ] | |
jobs: | |
centos8-gcc921-epoll-release: | |
runs-on: [self-hosted, Linux, X64] | |
container: | |
image: ghcr.io/coldwings/photon-ut-base:latest | |
options: --cpus 4 | |
steps: | |
- uses: szenius/set-timezone@v1.2 | |
with: | |
timezoneLinux: "Asia/Shanghai" | |
timezoneMacos: "Asia/Shanghai" | |
timezoneWindows: "China Standard Time" | |
- uses: actions/checkout@v3 | |
# - name: Install Dependencies | |
# run: | | |
# dnf install -y git gcc-c++ cmake 'dnf-command(config-manager)' | |
# dnf install -y gcc-toolset-9-gcc-c++ | |
# dnf install -y openssl-devel libcurl-devel libaio-devel | |
# dnf install -y epel-release | |
# dnf config-manager --set-enabled powertools | |
# dnf install -y gtest-devel gmock-devel gflags-devel fuse-devel libgsasl-devel e2fsprogs-devel | |
- name: Build | |
run: | | |
source /opt/rh/gcc-toolset-9/enable | |
cmake -B build -D CMAKE_BUILD_TYPE=MinSizeRel \ | |
-D PHOTON_BUILD_DEPENDENCIES=OFF -D PHOTON_BUILD_TESTING=ON \ | |
-D PHOTON_ENABLE_SASL=ON -D PHOTON_ENABLE_FUSE=ON \ | |
-D PHOTON_ENABLE_EXTFS=ON | |
cmake --build build -j -- VERBOSE=1 | |
- name: Test | |
run: | | |
ulimit -l unlimited | |
cd build | |
ctest --timeout 3600 -V | |
centos8-gcc921-epoll-debug: | |
runs-on: [self-hosted, Linux, X64] | |
container: | |
image: dokken/centos-stream-8:sha-40294ce | |
options: --cpus 4 | |
steps: | |
- uses: szenius/set-timezone@v1.2 | |
with: | |
timezoneLinux: "Asia/Shanghai" | |
timezoneMacos: "Asia/Shanghai" | |
timezoneWindows: "China Standard Time" | |
- uses: actions/checkout@v3 | |
- name: Install Dependencies | |
run: | | |
dnf install -y git gcc-c++ cmake 'dnf-command(config-manager)' | |
dnf install -y gcc-toolset-9-gcc-c++ | |
dnf install -y openssl-devel libcurl-devel libaio-devel | |
dnf install -y epel-release | |
dnf config-manager --set-enabled powertools | |
dnf install -y gtest-devel gmock-devel gflags-devel fuse-devel libgsasl-devel e2fsprogs-devel | |
- name: Build | |
run: | | |
source /opt/rh/gcc-toolset-9/enable | |
cmake -B build -D CMAKE_BUILD_TYPE=Debug \ | |
-D PHOTON_BUILD_DEPENDENCIES=OFF -D PHOTON_BUILD_TESTING=ON \ | |
-D PHOTON_ENABLE_SASL=ON -D PHOTON_ENABLE_FUSE=ON \ | |
-D PHOTON_ENABLE_EXTFS=ON | |
cmake --build build -j -- VERBOSE=1 | |
- name: Test | |
run: | | |
ulimit -l unlimited | |
cd build | |
ctest --timeout 3600 -V | |
centos8-gcc921-iouring-release: | |
runs-on: [self-hosted, Linux, X64] | |
container: | |
image: dokken/centos-stream-8:sha-40294ce | |
# In order to run io_uring, the docker daemon should add --default-ulimit memlock=-1:-1 | |
options: --cpus 4 | |
steps: | |
- uses: szenius/set-timezone@v1.2 | |
with: | |
timezoneLinux: "Asia/Shanghai" | |
timezoneMacos: "Asia/Shanghai" | |
timezoneWindows: "China Standard Time" | |
- uses: actions/checkout@v3 | |
- name: Install Dependencies | |
run: | | |
dnf install -y git gcc-c++ cmake | |
dnf install -y gcc-toolset-9-gcc-c++ | |
dnf install -y openssl-devel libcurl-devel | |
dnf install -y epel-release | |
dnf install -y fuse-devel libgsasl-devel e2fsprogs-devel | |
- name: Build | |
run: | | |
source /opt/rh/gcc-toolset-9/enable | |
cmake -B build -D CMAKE_BUILD_TYPE=MinSizeRel \ | |
-D PHOTON_BUILD_DEPENDENCIES=ON -D PHOTON_BUILD_TESTING=ON \ | |
-D PHOTON_ENABLE_SASL=ON -D PHOTON_ENABLE_FUSE=ON \ | |
-D PHOTON_ENABLE_EXTFS=ON \ | |
-D PHOTON_ENABLE_URING=ON | |
cmake --build build -j -- VERBOSE=1 | |
- name: Test | |
run: | | |
ulimit -l unlimited | |
cd build | |
ctest --timeout 3600 -V |