name: Meson Continuous Integration on: [push, pull_request] jobs: macos-latest: name: Build and Test on MacOS Latest runs-on: macos-latest steps: # - name: Install MongoDB with Package Manager # run: | # brew tap mongodb/brew # brew install mongodb-community # brew services start mongodb-community - name: Create the TUN device with the interface name `ogstun`. run: | sudo ifconfig lo0 alias 127.0.0.2 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.3 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.4 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.6 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.7 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.8 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.9 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.10 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.11 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.12 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.13 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.14 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.15 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.16 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.17 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.18 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.19 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.0.20 netmask 255.255.255.255 sudo ifconfig lo0 alias 127.0.1.10 netmask 255.255.255.255 - name: Install the dependencies for building the source code. run: brew install mongo-c-driver libidn libmicrohttpd nghttp2 bison libusrsctp libtins talloc meson - name: Check out repository code uses: actions/checkout@main - name: Setup Meson Build run: PATH="/usr/local/opt/bison/bin:$PATH" meson setup build env: CC: gcc - name : Build Open5GS run: ninja -C build - name: Test Open5GS run: sudo meson test -C build -v crypt unit ubuntu-latest: name: Build and Test on Ubuntu Latest runs-on: ubuntu-latest services: mongodb: image: mongo ports: - 27017:27017 steps: - name: Create the TUN device with the interface name `ogstun`. run: | sudo ip tuntap add name ogstun mode tun sudo ip addr add 10.45.0.1/16 dev ogstun sudo ip addr add 2001:db8:cafe::1/48 dev ogstun sudo ip link set ogstun up - name: Install the dependencies for building the source code. run: | sudo apt update sudo apt install python3-pip python3-setuptools python3-wheel ninja-build build-essential flex bison git libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev libnghttp2-dev libmicrohttpd-dev libcurl4-gnutls-dev libnghttp2-dev libtins-dev libtalloc-dev meson - name: Check out repository code uses: actions/checkout@main - name: Setup Meson Build run: meson setup build env: CC: gcc - name : Build Open5GS run: ninja -C build - name: Test Open5GS run: meson test -C build -v