Update cxx version to C++17 #44
Workflow file for this run
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" ] | |
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 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: | | |
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, macos-11] | |
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 ccache | |
- 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@v3 | |
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@v3 | |
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 | |