1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
---
name: 'Run regression tests'
on:
workflow_call:
inputs:
compiler:
description: 'Compiler to use'
type: string
required: true
jobs:
run-regression:
name: regression-${{ inputs.compiler }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 5
submodules: recursive
- name: Install dependencies
run: sudo apt-get update && sudo apt-get -qq -y install asciidoctor gcc g++ cmake libboost-all-dev libcurl4-openssl-dev libgetdns-dev libhiredis-dev libmaxminddb-dev libluajit-5.1-dev libprotobuf-dev libreadline-dev libssl-dev libsodium-dev libsystemd-dev libyaml-cpp-dev libjsoncpp-dev uuid-dev libz-dev libtool pkg-config protobuf-compiler wget autoconf automake
- name: Download prometheus-cpp
run: git clone https://github.com/jupp0r/prometheus-cpp.git && cd prometheus-cpp && git checkout tags/v1.0.1 -b v1.0.1 && echo 'include(CPack)' >> CMakeLists.txt
- name: Build and Install prometheus-cpp
run: cd prometheus-cpp && git submodule init && git submodule update && mkdir _build && cd _build && cmake .. -DBUILD_SHARED_LIBS=off -DENABLE_PULL=off -DENABLE_PUSH=off -DENABLE_COMPRESSION=off -DENABLE_TESTING=off -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_POSITION_INDEPENDENT_CODE=ON && make && sudo make install
- name: Download Drogon
run: git clone https://github.com/drogonframework/drogon.git && cd drogon && git checkout tags/v1.9.1 -b v1.9.1
- name: Build and Install Drogon
run: cd drogon && git submodule init && git submodule update && mkdir _build && cd _build && cmake .. -DBUILD_ORM=OFF -DBUILD_BROTLI=OFF -DBUILD_C-ARES=OFF -DBUILD_REDIS=OFF -DCMAKE_BUILD_TYPE=Release && make && sudo make install
- run: sudo sysctl -w vm.max_map_count=262144
- run: autoreconf -i
- run: ./configure --enable-trackalert
- run: cd docker && make regression-${{ inputs.compiler }}
- run: make dist
- run: make distcheck
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: Test-Results-${{ inputs.compiler }}
path: |
docker/tmp/*.xml
event_file:
name: "Event File"
runs-on: ubuntu-latest
steps:
- name: Upload
uses: actions/upload-artifact@v4
with:
name: Event-File-${{ inputs.compiler }}
path: ${{ github.event_path }}
|