From cf165af0259cf21998f3bed2588f8d1966e2f39b Mon Sep 17 00:00:00 2001 From: SChernykh <15806605+SChernykh@users.noreply.github.com> Date: Tue, 13 Feb 2024 19:08:39 +0100 Subject: [PATCH] CI: faster builds Update c-cpp.yml --- .github/workflows/c-cpp.yml | 40 ++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 1617269..f2aabfc 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -18,9 +18,9 @@ jobs: strategy: matrix: config: - - {arch: x86_64, branch: latest-stable, flags: "-flto=2 -fuse-linker-plugin -ffunction-sections -Wno-error=inline"} - - {arch: aarch64, branch: latest-stable, flags: "-flto=2 -fuse-linker-plugin -ffunction-sections -Wno-error=inline -mfix-cortex-a53-835769 -mfix-cortex-a53-843419"} - - {arch: riscv64, branch: edge, flags: "-flto=2 -fuse-linker-plugin -ffunction-sections -Wno-error=inline"} + - {arch: x86_64, branch: latest-stable, flags: "-flto=auto -fuse-linker-plugin -ffunction-sections -Wno-error=inline"} + - {arch: aarch64, branch: latest-stable, flags: "-flto=auto -fuse-linker-plugin -ffunction-sections -Wno-error=inline -mfix-cortex-a53-835769 -mfix-cortex-a53-843419"} + - {arch: riscv64, branch: edge, flags: "-flto=auto -fuse-linker-plugin -ffunction-sections -Wno-error=inline"} steps: - name: Setup Alpine Linux @@ -137,7 +137,7 @@ jobs: run: | mkdir build cd build - cmake .. -DCMAKE_C_COMPILER=${{ matrix.config.c }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cpp }} -DCMAKE_C_FLAGS='${{ matrix.config.flags }} -flto=2' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }} -flto=2' + cmake .. -DCMAKE_C_COMPILER=${{ matrix.config.c }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cpp }} -DCMAKE_C_FLAGS='${{ matrix.config.flags }} -flto=auto' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }} -flto=auto' make -j$(nproc) p2pool - name: Run RandomX tests @@ -152,7 +152,7 @@ jobs: cd tests mkdir build cd build - cmake .. -DCMAKE_C_COMPILER=${{ matrix.config.c }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cpp }} -DCMAKE_C_FLAGS='${{ matrix.config.flags }} -flto=2' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }} -flto=2' + cmake .. -DCMAKE_C_COMPILER=${{ matrix.config.c }} -DCMAKE_CXX_COMPILER=${{ matrix.config.cpp }} -DCMAKE_C_FLAGS='${{ matrix.config.flags }} -flto=auto' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }} -flto=auto' make -j$(nproc) - name: Run tests @@ -175,7 +175,7 @@ jobs: strategy: matrix: config: - - {flags: "-flto=2 -fuse-linker-plugin -ffunction-sections -Wno-error=inline"} + - {flags: "-flto=auto -fuse-linker-plugin -ffunction-sections -Wno-error=inline"} steps: - name: Install dependencies @@ -255,8 +255,8 @@ jobs: strategy: matrix: config: - - {os: ubuntu-20.04, flags: "-flto=2 -fuse-linker-plugin -ffunction-sections -mfix-cortex-a53-835769 -mfix-cortex-a53-843419"} - - {os: ubuntu-22.04, flags: "-flto=2 -fuse-linker-plugin -ffunction-sections -mfix-cortex-a53-835769 -mfix-cortex-a53-843419"} + - {os: ubuntu-20.04, flags: "-flto=auto -fuse-linker-plugin -ffunction-sections -mfix-cortex-a53-835769 -mfix-cortex-a53-843419"} + - {os: ubuntu-22.04, flags: "-flto=auto -fuse-linker-plugin -ffunction-sections -mfix-cortex-a53-835769 -mfix-cortex-a53-843419"} steps: - name: Install dependencies @@ -627,7 +627,7 @@ jobs: - name: freebsd architecture: x86-64 version: '13.2' - host: macos-latest + host: macos-13 steps: - name: Checkout repository @@ -646,36 +646,38 @@ jobs: operating_system: ${{ matrix.os.name }} architecture: ${{ matrix.os.architecture }} version: ${{ matrix.os.version }} + memory: 8G + cpu_count: 4 shell: bash run: | sudo pkg install -y cmake cd external/src/curl cmake . -DCMAKE_C_FLAGS="-Os -flto" -DBUILD_CURL_EXE=OFF -DBUILD_SHARED_LIBS=OFF -DCURL_DISABLE_INSTALL=ON -DCURL_ENABLE_EXPORT_TARGET=OFF -DCURL_DISABLE_HEADERS_API=ON -DCURL_DISABLE_BINDLOCAL=ON -DBUILD_LIBCURL_DOCS=OFF -DCURL_ZLIB=OFF -DCURL_DISABLE_ALTSVC=ON -DCURL_DISABLE_COOKIES=ON -DCURL_DISABLE_DOH=ON -DCURL_DISABLE_GETOPTIONS=ON -DCURL_DISABLE_HSTS=ON -DCURL_DISABLE_LIBCURL_OPTION=ON -DCURL_DISABLE_MIME=ON -DCURL_DISABLE_NETRC=ON -DCURL_DISABLE_NTLM=ON -DCURL_DISABLE_PARSEDATE=ON -DCURL_DISABLE_PROGRESS_METER=ON -DCURL_DISABLE_SHUFFLE_DNS=ON -DCURL_DISABLE_SOCKETPAIR=ON -DCURL_DISABLE_VERBOSE_STRINGS=ON -DHTTP_ONLY=ON -DCURL_ENABLE_SSL=OFF -DUSE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF -DENABLE_UNIX_SOCKETS=OFF - make -j3 + make -j4 cd lib && mkdir .libs && cp libcurl.a .libs cd ../../libuv mkdir build cd build cmake .. -DCMAKE_C_FLAGS='-Os -flto' -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF - make -j3 + make -j4 cd ../../libzmq mkdir build cd build cmake .. -DCMAKE_C_FLAGS='-Os -flto' -DCMAKE_CXX_FLAGS='-Os -flto' -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF -DWITH_DOCS=OFF -DENABLE_DRAFTS=OFF -DBUILD_SHARED=OFF - make -j3 + make -j4 cd ../../../.. mkdir build cd build cmake .. -DCMAKE_C_FLAGS='-flto' -DCMAKE_CXX_FLAGS='-flto' -DSTATIC_LIBS=ON - make -j3 p2pool + make -j4 p2pool ./p2pool --test - make -j3 randomx-tests + make -j4 randomx-tests external/src/RandomX/randomx-tests cd ../tests mkdir build cd build cmake .. -DCMAKE_C_FLAGS='-flto' -DCMAKE_CXX_FLAGS='-flto' -DSTATIC_LIBS=ON - make -j3 + make -j4 p2pool_tests gunzip *.gz ./p2pool_tests @@ -696,7 +698,7 @@ jobs: - name: openbsd architecture: x86-64 version: '7.4' - host: macos-latest + host: macos-13 steps: - name: Checkout repository @@ -715,16 +717,18 @@ jobs: operating_system: ${{ matrix.os.name }} architecture: ${{ matrix.os.architecture }} version: ${{ matrix.os.version }} + memory: 8G + cpu_count: 4 shell: bash run: | sudo pkg_add -I cmake libuv zeromq curl mkdir build && cd build cmake .. - make -j3 p2pool + make -j4 p2pool cd ../tests mkdir build && cd build cmake .. - make -j3 p2pool_tests + make -j4 p2pool_tests gunzip *.gz ./p2pool_tests