diff options
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r-- | .github/workflows/build.yml | 43 |
1 files changed, 36 insertions, 7 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c6ed13e62..aa6afbfbc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,7 +14,7 @@ jobs: submodules: recursive - uses: actions/cache@v2 with: - path: ~/.ccache + path: /Users/runner/Library/Caches/ccache key: ccache-macos-build-${{ github.sha }} restore-keys: ccache-macos-build- - name: install dependencies @@ -26,6 +26,10 @@ jobs: build-windows: runs-on: windows-latest + env: + CCACHE_COMPRESS: 1 + CCACHE_TEMPDIR: C:\Users\runneradmin\.ccache-temp + CCACHE_DIR: C:\Users\runneradmin\.ccache defaults: run: shell: msys2 {0} @@ -33,12 +37,19 @@ jobs: - uses: actions/checkout@v1 with: submodules: recursive + - uses: actions/cache@v2 + with: + path: C:\Users\runneradmin\.ccache + key: ccache-windows-build-${{ github.sha }} + restore-keys: ccache-windows-build- - uses: eine/setup-msys2@v2 with: update: true - install: mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-protobuf-c mingw-w64-x86_64-libusb git + install: mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-ccache mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-protobuf-c mingw-w64-x86_64-libusb git - name: build - run: make release-static-win64 -j2 + run: | + ccache --max-size=150M + make release-static-win64 -j2 build-ubuntu: runs-on: ubuntu-latest @@ -104,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 @@ -118,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 - - name: install requests - run: pip install requests + 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. + |