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

CI with fully parallel jobs #516

Merged
merged 5 commits into from
Jun 20, 2024
Merged
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
2 changes: 1 addition & 1 deletion .github/workflows/auto-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
GH_TOKEN: ${{ github.token }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Create Pull Request to the next higher release version

Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ci.linux.arm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ jobs:
options: --cpus 4

steps:
- uses: szenius/set-timezone@v1.2
- uses: szenius/set-timezone@v2.0
with:
timezoneLinux: "Asia/Shanghai"
timezoneMacos: "Asia/Shanghai"
timezoneWindows: "China Standard Time"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Build
run: |
Expand All @@ -48,13 +48,13 @@ jobs:
options: --cpus 4

steps:
- uses: szenius/set-timezone@v1.2
- uses: szenius/set-timezone@v2.0
with:
timezoneLinux: "Asia/Shanghai"
timezoneMacos: "Asia/Shanghai"
timezoneWindows: "China Standard Time"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Build
run: |
Expand Down
202 changes: 67 additions & 135 deletions .github/workflows/ci.linux.x86-64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,17 @@ on:

jobs:
gcc850:
runs-on: [self-hosted, compiler]
runs-on: ubuntu-latest
container:
image: ghcr.io/coldwings/photon-ut-base:latest
options: --cpus 4 --privileged
steps:
- uses: actions/checkout@v3
- uses: szenius/set-timezone@v2.0
with:
timezoneLinux: "Asia/Shanghai"
timezoneMacos: "Asia/Shanghai"
timezoneWindows: "China Standard Time"
- uses: actions/checkout@v4
- name: Build850
run: |
rm -fr build
Expand All @@ -20,45 +28,10 @@ jobs:
-D PHOTON_ENABLE_SASL=ON \
-D PHOTON_ENABLE_FUSE=ON \
-D PHOTON_ENABLE_URING=ON \
-D PHOTON_ENABLE_EXTFS=ON \
# -D PHOTON_BUILD_DEPENDENCIES=ON \
# -D PHOTON_AIO_SOURCE="" \
# -D PHOTON_ZLIB_SOURCE="" \
# -D PHOTON_CURL_SOURCE="" \
# -D PHOTON_OPENSSL_SOURCE="" \
# -D PHOTON_GFLAGS_SOURCE="" \
# -D PHOTON_GOOGLETEST_SOURCE="" \
# -D PHOTON_URING_SOURCE=https://github.com/axboe/liburing/archive/refs/tags/liburing-2.3.tar.gz

-D PHOTON_ENABLE_EXTFS=ON
cmake --build build -j $(nproc) --clean-first -- VERBOSE=1
ln -f common/checksum/test/checksum.in build/output/
tar -c -h --use-compress-program=zstdmt -f output850.tzs build/output/
- name: Upload850
uses: actions/upload-artifact@v4
with:
name: output850
path: output850.tzs
retention-days: 5
compression-level: 0

test850:
needs: gcc850
runs-on: ubuntu-latest
container:
image: ghcr.io/coldwings/photon-ut-base:latest
options: --cpus 4 --privileged
steps:
- uses: szenius/set-timezone@v1.2
with:
timezoneLinux: "Asia/Shanghai"
timezoneMacos: "Asia/Shanghai"
timezoneWindows: "China Standard Time"
- uses: actions/download-artifact@v4
with:
name: output850
- name: test
run: |
tar -x --use-compress-program=zstdmt -f output850.tzs
cd build/output/
ctest -E test-lockfree --timeout 3600 -V
export PHOTON_CI_EV_ENGINE=io_uring
Expand All @@ -67,41 +40,31 @@ jobs:
ctest -E test-lockfree --timeout 3600 -V

gcc921:
needs: gcc850
runs-on: [self-hosted, compiler]
steps:
- name: Build921
run: |
source /opt/rh/gcc-toolset-9/enable
cmake --build build -j $(nproc) --clean-first -- VERBOSE=1
ln -f common/checksum/test/checksum.in build/output/
tar -c --use-compress-program=zstdmt -f output921.tzs build/output/
- name: Upload921
uses: actions/upload-artifact@v4
with:
name: output921
path: output921.tzs
retention-days: 5
compression-level: 0

test921:
needs: gcc921
runs-on: ubuntu-latest
container:
image: ghcr.io/coldwings/photon-ut-base:latest
options: --cpus 4 --privileged
steps:
- uses: szenius/set-timezone@v1.2
- uses: szenius/set-timezone@v2.0
with:
timezoneLinux: "Asia/Shanghai"
timezoneMacos: "Asia/Shanghai"
timezoneWindows: "China Standard Time"
- uses: actions/download-artifact@v4
with:
name: output921
- uses: actions/checkout@v4
- name: Build921
run: |
source /opt/rh/gcc-toolset-9/enable
rm -fr build
cmake -B build -D CMAKE_BUILD_TYPE=MinSizeRel \
-D PHOTON_ENABLE_ECOSYSTEM=ON \
-D PHOTON_BUILD_TESTING=ON \
-D PHOTON_ENABLE_SASL=ON \
-D PHOTON_ENABLE_FUSE=ON \
-D PHOTON_ENABLE_URING=ON \
-D PHOTON_ENABLE_EXTFS=ON
cmake --build build -j $(nproc) --clean-first -- VERBOSE=1
- name: test
run: |
tar -x --use-compress-program=zstdmt -f output921.tzs
cd build/output/
ctest -E test-lockfree --timeout 3600 -V
export PHOTON_CI_EV_ENGINE=io_uring
Expand All @@ -110,41 +73,31 @@ jobs:
ctest -E test-lockfree --timeout 3600 -V

gcc1031:
needs: gcc921
runs-on: [self-hosted, compiler]
steps:
- name: Build1031
run: |
source /opt/rh/gcc-toolset-10/enable
cmake --build build -j $(nproc) --clean-first -- VERBOSE=1
ln -f common/checksum/test/checksum.in build/output/
tar -c --use-compress-program=zstdmt -f output1031.tzs build/output/
- name: Upload1031
uses: actions/upload-artifact@v4
with:
name: output1031
path: output1031.tzs
retention-days: 5
compression-level: 0

test1031:
needs: gcc1031
runs-on: ubuntu-latest
container:
image: ghcr.io/coldwings/photon-ut-base:latest
options: --cpus 4 --privileged
steps:
- uses: szenius/set-timezone@v1.2
- uses: szenius/set-timezone@v2.0
with:
timezoneLinux: "Asia/Shanghai"
timezoneMacos: "Asia/Shanghai"
timezoneWindows: "China Standard Time"
- uses: actions/download-artifact@v4
with:
name: output1031
- uses: actions/checkout@v4
- name: Build1031
run: |
source /opt/rh/gcc-toolset-10/enable
rm -fr build
cmake -B build -D CMAKE_BUILD_TYPE=MinSizeRel \
-D PHOTON_ENABLE_ECOSYSTEM=ON \
-D PHOTON_BUILD_TESTING=ON \
-D PHOTON_ENABLE_SASL=ON \
-D PHOTON_ENABLE_FUSE=ON \
-D PHOTON_ENABLE_URING=ON \
-D PHOTON_ENABLE_EXTFS=ON
cmake --build build -j $(nproc) --clean-first -- VERBOSE=1
- name: test
run: |
tar -x --use-compress-program=zstdmt -f output1031.tzs
cd build/output/
ctest -E test-lockfree --timeout 3600 -V
export PHOTON_CI_EV_ENGINE=io_uring
Expand All @@ -153,41 +106,31 @@ jobs:
ctest -E test-lockfree --timeout 3600 -V

gcc1121:
needs: gcc1031
runs-on: [self-hosted, compiler]
steps:
- name: Build1121
run: |
source /opt/rh/gcc-toolset-10/enable
cmake --build build -j $(nproc) --clean-first -- VERBOSE=1
ln -f common/checksum/test/checksum.in build/output/
tar -c --use-compress-program=zstdmt -f output1121.tzs build/output/
- name: Upload1121
uses: actions/upload-artifact@v4
with:
name: output1121
path: output1121.tzs
retention-days: 5
compression-level: 0

test1121:
needs: gcc1121
runs-on: ubuntu-latest
container:
image: ghcr.io/coldwings/photon-ut-base:latest
options: --cpus 4 --privileged
steps:
- uses: szenius/set-timezone@v1.2
- uses: szenius/set-timezone@v2.0
with:
timezoneLinux: "Asia/Shanghai"
timezoneMacos: "Asia/Shanghai"
timezoneWindows: "China Standard Time"
- uses: actions/download-artifact@v4
with:
name: output1121
- uses: actions/checkout@v4
- name: Build1121
run: |
source /opt/rh/gcc-toolset-11/enable
rm -fr build
cmake -B build -D CMAKE_BUILD_TYPE=MinSizeRel \
-D PHOTON_ENABLE_ECOSYSTEM=ON \
-D PHOTON_BUILD_TESTING=ON \
-D PHOTON_ENABLE_SASL=ON \
-D PHOTON_ENABLE_FUSE=ON \
-D PHOTON_ENABLE_URING=ON \
-D PHOTON_ENABLE_EXTFS=ON
cmake --build build -j $(nproc) --clean-first -- VERBOSE=1
- name: test
run: |
tar -x --use-compress-program=zstdmt -f output1121.tzs
cd build/output/
ctest -E test-lockfree --timeout 3600 -V
export PHOTON_CI_EV_ENGINE=io_uring
Expand All @@ -196,46 +139,35 @@ jobs:
ctest -E test-lockfree --timeout 3600 -V

gcc1211:
needs: gcc1121
runs-on: [self-hosted, compiler]
steps:
- name: Build1211
run: |
source /opt/rh/gcc-toolset-10/enable
cmake --build build -j $(nproc) --clean-first -- VERBOSE=1
ln -f common/checksum/test/checksum.in build/output/
tar -c --use-compress-program=zstdmt -f output1211.tzs build/output/
- name: Upload1211
uses: actions/upload-artifact@v4
with:
name: output1211
path: output1211.tzs
retention-days: 5
compression-level: 0

test1211:
needs: gcc1211
runs-on: ubuntu-latest
container:
image: ghcr.io/coldwings/photon-ut-base:latest
options: --cpus 4 --privileged
steps:
- uses: szenius/set-timezone@v1.2
- uses: szenius/set-timezone@v2.0
with:
timezoneLinux: "Asia/Shanghai"
timezoneMacos: "Asia/Shanghai"
timezoneWindows: "China Standard Time"
- uses: actions/download-artifact@v4
with:
name: output1211
- uses: actions/checkout@v4
- name: Build1211
run: |
source /opt/rh/gcc-toolset-12/enable
rm -fr build
cmake -B build -D CMAKE_BUILD_TYPE=MinSizeRel \
-D PHOTON_ENABLE_ECOSYSTEM=ON \
-D PHOTON_BUILD_TESTING=ON \
-D PHOTON_ENABLE_SASL=ON \
-D PHOTON_ENABLE_FUSE=ON \
-D PHOTON_ENABLE_URING=ON \
-D PHOTON_ENABLE_EXTFS=ON
cmake --build build -j $(nproc) --clean-first -- VERBOSE=1
- name: test
run: |
tar -x --use-compress-program=zstdmt -f output1211.tzs
cd build/output/
ctest -E test-lockfree --timeout 3600 -V
export PHOTON_CI_EV_ENGINE=io_uring
ctest -E test-lockfree --timeout 3600 -V
export PHOTON_CI_EV_ENGINE=epoll_ng
ctest -E test-lockfree --timeout 3600 -V


4 changes: 2 additions & 2 deletions .github/workflows/ci.macos.arm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ jobs:
runs-on: macos-14

steps:
- uses: szenius/set-timezone@v1.2
- uses: szenius/set-timezone@v2.0
with:
timezoneLinux: "Asia/Shanghai"
timezoneMacos: "Asia/Shanghai"
timezoneWindows: "China Standard Time"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Install Dependencies
shell: bash
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.macos.x86.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ jobs:
runs-on: macos-13

steps:
- uses: szenius/set-timezone@v1.2
- uses: szenius/set-timezone@v2.0
with:
timezoneLinux: "Asia/Shanghai"
timezoneMacos: "Asia/Shanghai"
timezoneWindows: "China Standard Time"

- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Install Dependencies
shell: bash
Expand Down
4 changes: 3 additions & 1 deletion common/iovector.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,10 @@ limitations under the License.
#include <photon/common/io-alloc.h>

#pragma GCC diagnostic push
#if __GNUC__ >= 13
#if defined(__clang__)
#pragma GCC diagnostic ignored "-Wunknown-warning-option"
#endif
#if __GNUC__ >= 12
#pragma GCC diagnostic ignored "-Wzero-length-bounds"
#endif

Expand Down
2 changes: 1 addition & 1 deletion common/test/test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ TEST(Callback, virtual_function)
// Callback<int> ee([&](int x){ return RET + x/2; });

#pragma GCC diagnostic push
#if __GNUC__ >= 13
#if __GNUC__ >= 12
#pragma GCC diagnostic ignored "-Wdangling-pointer"
#endif
THIS = (BB*)&c;
Expand Down
Loading
Loading