Skip to content

[WIP] Add manual reload functionality to mrouted for hotplugged network interfaces #54

[WIP] Add manual reload functionality to mrouted for hotplugged network interfaces

[WIP] Add manual reload functionality to mrouted for hotplugged network interfaces #54

Workflow file for this run

name: Bob the Builder
# Run on all branches, including all pull requests, except the 'dev'
# branch since that's where we run Coverity Scan (limited tokens/day)
on:
push:
branches:
- '**'
- '!dev'
pull_request:
branches:
- '**'
jobs:
build:
# Verify we can build on latest Ubuntu with both gcc and clang
name: ${{ matrix.compiler }}
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [gcc, clang]
fail-fast: false
env:
MAKEFLAGS: -j3
CC: ${{ matrix.compiler }}
steps:
- name: Install dependencies
run: |
sudo modprobe ipip
sudo apt-get -y update
sudo apt-get -y install pkg-config libsystemd-dev bird2 ethtool keepalived tshark tree
- uses: actions/checkout@v3
- name: Configure
# Build in a sub-directory so we can safely set a+w on all
# directories. Needed for `make check` since it runs with
# root dropped and wants to write .trs and .log files.
run: |
./autogen.sh
./configure --prefix= --enable-test
- name: Build
run: |
make V=1
- name: Install
run: |
DESTDIR=~/tmp make install-strip
tree ~/tmp
ldd ~/tmp/sbin/mrouted
size ~/tmp/sbin/mrouted
ldd ~/tmp/sbin/mroutectl
size ~/tmp/sbin/mroutectl
sudo ~/tmp/sbin/mrouted -p ~/tmp/foo.pid -u ~/tmp/foo.sock
sleep 1
~/tmp/sbin/mrouted -h
sudo ~/tmp/sbin/mroutectl -u ~/tmp/foo.sock -h
sudo ~/tmp/sbin/mroutectl -u ~/tmp/foo.sock
sudo ~/tmp/sbin/mroutectl -u ~/tmp/foo.sock kill
- name: Test
run: |
make check || (cat test/test-suite.log; false)
- name: Upload Test Results
uses: actions/upload-artifact@v3
with:
name: mrouted-test-${{ matrix.compiler }}
path: test/*
debian:
# Verify that Debian packages can be built
name: Debian Package
runs-on: ubuntu-latest
container: debian:stable
steps:
- uses: actions/checkout@v3
- name: Installing dependencies
run: |
apt-get update
apt-get install -y build-essential bison flex autoconf automake pkg-config \
libsystemd-dev systemd dpkg-dev debhelper devscripts
- name: Building Debian package
run: |
./autogen.sh
./configure
make distcheck
make package
cat ../mrouted*.changes