name: Liveness-LB-Sanity-CI on: push: branches: - main pull_request: branches: [ "main" ] workflow_dispatch: inputs: logLevel: description: 'Log level' required: true default: 'warning' tags: description: 'Liveness LB Sanity' jobs: build: name: liveness-lb-sanity runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 with: submodules: recursive - uses: actions/setup-python@v2 - uses: actions/setup-go@v3 with: go-version: '>=1.18.0' - run: sudo apt-get update - run: sudo apt -y install clang-10 llvm libelf-dev gcc-multilib libpcap-dev linux-tools-$(uname -r) elfutils dwarves git libbsd-dev bridge-utils unzip build-essential bison flex iperf iproute2 nodejs socat ethtool - run: | git clone https://github.com/loxilb-io/iproute2 iproute2-main cd iproute2-main/libbpf/src/ sudo make install mkdir build DESTDIR=build make install cd - cd iproute2-main/ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:`pwd`/libbpf/src/ && LIBBPF_FORCE=on LIBBPF_DIR=`pwd`/libbpf/src/build ./configure && make && sudo cp -f tc/tc /usr/local/sbin/ntc && cd - - run: loxilb-ebpf/utils/mkllb_bpffs.sh - run: sudo -E env "PATH=$PATH" make - run: sudo -E env "PATH=$PATH" make test - run: docker pull ghcr.io/loxilb-io/loxilb:latest - run: docker run -u root --cap-add SYS_ADMIN --restart unless-stopped --privileged -dit -v /dev/log:/dev/log --name loxilb ghcr.io/loxilb-io/loxilb:latest - run: pwd && ls && sudo -E env "PATH=$PATH" make docker-cp - run: docker exec -dit loxilb mkllb_bpffs - run: id=`docker ps -f name=loxilb | cut -d " " -f 1 | grep -iv "CONTAINER"` && docker commit $id ghcr.io/loxilb-io/loxilb:latest - run: docker stop loxilb && docker rm loxilb - run: | cd cicd/tcplbmon/ ./config.sh ./validation.sh ./rmconfig.sh cd - - run: | cd cicd/udplbmon/ ./config.sh ./validation.sh ./rmconfig.sh cd - - run: | cd cicd/sctplbmon/ ./config.sh ./validation.sh ./rmconfig.sh cd - - run: | cd cicd/tcplbmon6/ ./config.sh ./validation.sh ./rmconfig.sh cd - - run: | cd cicd/tcplbepmod/ ./config.sh ./validation.sh ./rmconfig.sh cd - - run: | cd cicd/lbtimeout/ ./config.sh ./validation.sh ./rmconfig.sh cd - - run: | cd cicd/lb6timeout/ ./config.sh ./validation.sh ./rmconfig.sh cd - - run: | cd cicd/httpsep/ ./config.sh ./validation.sh ./rmconfig.sh cd - - run: | cd cicd/http2ep/ ./config.sh ./validation.sh ./rmconfig.sh cd -