CI: Ubuntu-Test reuses Ubuntu-Build cache and building static libs

This commit is contained in:
mj-xmr 2021-07-13 15:04:50 +02:00
parent 56f7609643
commit 1b80347513
No known key found for this signature in database
GPG Key ID: C101BF94093451E0

View File

@ -5,6 +5,9 @@ on: [push, pull_request]
# The below variables reduce repetitions across similar targets # The below variables reduce repetitions across similar targets
env: env:
REMOVE_BUNDLED_BOOST : rm -rf /usr/local/share/boost REMOVE_BUNDLED_BOOST : rm -rf /usr/local/share/boost
BUILD_DEFAULT_LINUX: |
ccache --max-size=150M
cmake -S . -B build -D ARCH="default" -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=release && cmake --build build -j3
APT_INSTALL_LINUX: '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' APT_INSTALL_LINUX: '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'
APT_SET_CONF: | APT_SET_CONF: |
echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom
@ -79,9 +82,7 @@ jobs:
with: with:
path: ~/.ccache path: ~/.ccache
key: ccache-ubuntu-build-${{ matrix.os }}-${{ github.sha }} key: ccache-ubuntu-build-${{ matrix.os }}-${{ github.sha }}
restore-keys: | restore-keys: ccache-ubuntu-build-${{ matrix.os }}
ccache-ubuntu-build-${{ matrix.os }}
ccache-ubuntu-build-
- name: remove bundled boost - name: remove bundled boost
run: ${{env.REMOVE_BUNDLED_BOOST}} run: ${{env.REMOVE_BUNDLED_BOOST}}
- name: set apt conf - name: set apt conf
@ -91,9 +92,7 @@ jobs:
- name: install monero dependencies - name: install monero dependencies
run: ${{env.APT_INSTALL_LINUX}} run: ${{env.APT_INSTALL_LINUX}}
- name: build - name: build
run: | run: ${{env.BUILD_DEFAULT_LINUX}}
ccache --max-size=150M
make -j3
libwallet-ubuntu: libwallet-ubuntu:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -137,8 +136,8 @@ jobs:
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
path: ~/.ccache path: ~/.ccache
key: test-ubuntu-ccache-${{ github.sha }} key: ccache-ubuntu-build-ubuntu-latest-${{ github.sha }}
restore-keys: test-ubuntu-ccache- restore-keys: ccache-ubuntu-build-ubuntu-latest
- name: remove bundled boost - name: remove bundled boost
run: ${{env.REMOVE_BUNDLED_BOOST}} run: ${{env.REMOVE_BUNDLED_BOOST}}
- name: set apt conf - name: set apt conf
@ -153,11 +152,8 @@ jobs:
env: env:
CTEST_OUTPUT_ON_FAILURE: ON CTEST_OUTPUT_ON_FAILURE: ON
run: | run: |
ccache --max-size=150M ${{env.BUILD_DEFAULT_LINUX}}
DIR_BUILD="build/ci/release" cmake --build build --target test
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. # 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. # BUILD_SHARED_LIBS=ON speeds up the linkage part a bit, reduces size, and is the only place where the dynamic linkage is tested.