aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/build.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r--.github/workflows/build.yml43
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.
+