From 7264fa04ca206291ebae89f33c5b57f2651fc2ef Mon Sep 17 00:00:00 2001 From: Coldwings Date: Tue, 18 Jun 2024 10:55:33 +0800 Subject: [PATCH] CI with fully parallel jobs --- .github/workflows/ci.linux.x86-64.yml | 194 +++++++++----------------- 1 file changed, 63 insertions(+), 131 deletions(-) diff --git a/.github/workflows/ci.linux.x86-64.yml b/.github/workflows/ci.linux.x86-64.yml index ce41d02a..acc770f1 100644 --- a/.github/workflows/ci.linux.x86-64.yml +++ b/.github/workflows/ci.linux.x86-64.yml @@ -7,9 +7,17 @@ on: branches: [ "main", "release/*" ] jobs: - gcc850: - runs-on: [self-hosted, compiler] + test850: + 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/checkout@v3 - name: Build850 run: | @@ -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 @@ -66,26 +39,7 @@ jobs: export PHOTON_CI_EV_ENGINE=epoll_ng 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 @@ -96,12 +50,21 @@ jobs: timezoneLinux: "Asia/Shanghai" timezoneMacos: "Asia/Shanghai" timezoneWindows: "China Standard Time" - - uses: actions/download-artifact@v4 - with: - name: output921 + - uses: actions/checkout@v3 + - name: Build850 + 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 @@ -109,26 +72,7 @@ jobs: export PHOTON_CI_EV_ENGINE=epoll_ng 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 @@ -139,12 +83,21 @@ jobs: timezoneLinux: "Asia/Shanghai" timezoneMacos: "Asia/Shanghai" timezoneWindows: "China Standard Time" - - uses: actions/download-artifact@v4 - with: - name: output1031 + - uses: actions/checkout@v3 + - name: Build850 + 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 @@ -152,26 +105,7 @@ jobs: export PHOTON_CI_EV_ENGINE=epoll_ng 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 @@ -182,12 +116,21 @@ jobs: timezoneLinux: "Asia/Shanghai" timezoneMacos: "Asia/Shanghai" timezoneWindows: "China Standard Time" - - uses: actions/download-artifact@v4 - with: - name: output1121 + - uses: actions/checkout@v3 + - name: Build850 + 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 @@ -195,26 +138,7 @@ jobs: export PHOTON_CI_EV_ENGINE=epoll_ng 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 @@ -225,12 +149,21 @@ jobs: timezoneLinux: "Asia/Shanghai" timezoneMacos: "Asia/Shanghai" timezoneWindows: "China Standard Time" - - uses: actions/download-artifact@v4 - with: - name: output1211 + - uses: actions/checkout@v3 + - name: Build850 + 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 @@ -238,4 +171,3 @@ jobs: export PHOTON_CI_EV_ENGINE=epoll_ng ctest -E test-lockfree --timeout 3600 -V -