Fix several bugs: (#119) #166
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: unix-ci | |
on: | |
push: | |
branches: [ "master", "develop", "release-*" ] | |
pull_request: | |
branches: [ "master", "develop" ] | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
APT_INSTALL_LINUX: 'sudo apt -y install build-essential cmake libboost-all-dev miniupnpc libunbound-dev 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' | |
APT_SET_CONF: | | |
echo "Acquire::Retries \"3\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom | |
echo "Acquire::http::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom | |
echo "Acquire::ftp::Timeout \"120\";" | sudo tee -a /etc/apt/apt.conf.d/80-custom | |
jobs: | |
build-tests: | |
runs-on: ${{matrix.os}} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, ubuntu-22.04, ubuntu-20.04, macos-latest, macos-12] | |
rmq: [WITH_RMQ=ON, WITH_RMQ=OFF] | |
steps: | |
- name: set apt conf (Debian based Linux) | |
if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-22.04' || matrix.os == 'ubuntu-20.04' | |
run: ${{env.APT_SET_CONF}} | |
- name: update apt (Debian based Linux) | |
if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-22.04' || matrix.os == 'ubuntu-20.04' | |
run: sudo apt update | |
- name: Install dependencies (Debian based Linux) | |
if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-22.04' || matrix.os == 'ubuntu-20.04' | |
run: ${{env.APT_INSTALL_LINUX}} | |
- name: Install RabbitMQ iff WITH_RMQ (Debian based Linux) | |
if: matrix.rmq == 'WITH_RMQ=ON' && (matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-22.04' || matrix.os == 'ubuntu-20.04') | |
run: sudo apt -y install librabbitmq-dev | |
- name: Install dependencies (MacOS) | |
if: matrix.os == 'macos-latest' || matrix.os == 'macos-12' || matrix.os == 'macos-11' | |
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq libpgm miniupnpc expat libunwind-headers protobuf | |
- name: Install RabbitMQ iff WITH_RMQ (MacOS) | |
if: matrix.rmq == 'WITH_RMQ=ON' && (matrix.os == 'macos-latest' || matrix.os == 'macos-12' || matrix.os == 'macos-11') | |
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install rabbitmq-c | |
- name: Checkout Monero Source | |
uses: actions/checkout@v4 | |
with: | |
repository: monero-project/monero | |
path: ${{github.workspace}}/monero/ | |
submodules: recursive | |
- name: Configure Monero | |
run: cmake -B ${{github.workspace}}/monero/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} ${{github.workspace}}/monero | |
- name: Build Monero | |
run: cd ${{github.workspace}}/monero/build && make -j$(nproc) daemon lmdb_lib multisig | |
- name: Checkout LWS Source | |
uses: actions/checkout@v4 | |
with: | |
path: ${{github.workspace}}/lws | |
- name: Configure LWS | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: cmake -B ${{github.workspace}}/lws/build -D${{matrix.rmq}} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DMONERO_SOURCE_DIR=${{github.workspace}}/monero -DMONERO_BUILD_DIR=${{github.workspace}}/monero/build ${{github.workspace}}/lws -DBUILD_TESTS=ON | |
- name: Build LWS | |
# Build your program with the given configuration | |
run: (cd ${{github.workspace}}/lws/build && make -j$(nproc)) | |
- name: Run Tests | |
run: cd ${{github.workspace}}/lws/build && ctest | |