79 lines
3.4 KiB
YAML
79 lines
3.4 KiB
YAML
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
|