Skip to content

Commit

Permalink
CI with fully parallel jobs (#516)
Browse files Browse the repository at this point in the history
* CI with fully parallel jobs

* Fix includes

* Fix ut include

* Fix compile on gcc12

* Update actions that cause nodejs16 warning in gh actions
  • Loading branch information
Coldwings authored Jun 20, 2024
1 parent ab80cf0 commit aecbd35
Show file tree
Hide file tree
Showing 10 changed files with 85 additions and 147 deletions.
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/[email protected]
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/[email protected]
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

0 comments on commit aecbd35

Please sign in to comment.