From 353028d8e930e306dc02021fff58f523c68b998e Mon Sep 17 00:00:00 2001 From: mj-xmr Date: Tue, 9 Mar 2021 17:11:33 +0100 Subject: [PATCH] CI: ccache for ubuntu-test; Using "Default" architecture The cmake logic is in workflows/build.yml --- .github/workflows/build.yml | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a27996a50..aa6afbfbc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -115,10 +115,19 @@ jobs: test-ubuntu: needs: build-ubuntu runs-on: ubuntu-latest + env: + CCACHE_COMPRESS: 1 + CCACHE_TEMPDIR: /tmp/.ccache-temp steps: - uses: actions/checkout@v1 with: submodules: recursive + - name: ccache + uses: actions/cache@v2 + with: + path: ~/.ccache + key: test-ubuntu-ccache-${{ github.sha }} + restore-keys: test-ubuntu-ccache- - name: remove bundled boost run: sudo rm -rf /usr/local/share/boost - name: set apt conf @@ -129,10 +138,19 @@ jobs: - name: update apt run: sudo apt update - name: install monero dependencies - run: sudo apt -y install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-dev libsodium-dev libhidapi-dev libnorm-dev libusb-1.0-0-dev libpgm-dev libprotobuf-dev protobuf-compiler + run: sudo apt -y install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-dev libsodium-dev libhidapi-dev libnorm-dev libusb-1.0-0-dev libpgm-dev libprotobuf-dev protobuf-compiler ccache - name: install Python dependencies run: pip install requests psutil monotonic - name: tests env: CTEST_OUTPUT_ON_FAILURE: ON - run: make release-test -j3 + run: | + ccache --max-size=150M + DIR_BUILD="build/ci/release" + DIR_SRC="`pwd`" + mkdir -p "${DIR_BUILD}" && cd "${DIR_BUILD}" + cmake -S "${DIR_SRC}" -D ARCH="default" -D BUILD_SHARED_LIBS=ON -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=release && make -j3 && make test + +# ARCH="default" (not "native") ensures, that a different execution host can execute binaries compiled elsewhere. +# BUILD_SHARED_LIBS=ON speeds up the linkage part a bit, reduces size, and is the only place where the dynamic linkage is tested. +