name: Clixon CI on: push: branches: - master - test-actions pull_request: branches: [ master ] jobs: ubuntu-build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 # 1) checkout and compile natively (no test) - name: install cligen run: (git clone https://github.com/clicon/cligen.git && cd cligen && ./configure && make && sudo make install) - name: install dependencies run: sudo apt install -y libssl-dev libnghttp2-dev - name: configure run: ./configure - name: make run: make -j10 - name: make install run: sudo make install install-include - name: make example run: (cd example; make) - name: make utils run: (cd util; make) - name: install example run: (cd example; sudo make install) - name: install utils run: (cd util; sudo make install) ubuntu-build-restconf-fcgi: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 # 1) checkout and compile natively (no test) - name: install cligen run: (git clone https://github.com/clicon/cligen.git && cd cligen && ./configure && make && sudo make install) - name: install dependencies run: sudo apt install -y nginx - name: install fcgi run: (git clone https://github.com/FastCGI-Archives/fcgi2 && cd fcgi2 && ./autogen.sh && rm -rf .git && ./configure --prefix=/usr; make; sudo make install) - name: configure run: ./configure --with-restconf=fcgi - name: make run: make -j10 - name: make install run: sudo make install install-include - name: make example run: (cd example; make) - name: make utils run: (cd util; make) - name: install example run: (cd example; sudo make install) - name: install utils run: (cd util; sudo make install) docker-alpine-tests: runs-on: ubuntu-latest defaults: run: working-directory: ./docker/test steps: - uses: actions/checkout@v3 # 2) Inline of make test, but without configure - name: in-line clone run: git clone file://$(realpath ../..) - name: openconfig run: mkdir -p openconfig; cd openconfig ; git clone https://github.com/openconfig/public - name: yangmodels run: mkdir yang/standard; cd yang; git init; git remote add -f origin https://github.com/YangModels/yang git config core.sparseCheckout true; echo "standard/" >> .git/info/sparse-checkout; echo "experimental/" >> .git/info/sparse-checkout; git pull origin main - name: make docker run: sudo docker build -f Dockerfile.native -t clixon/clixon-test . - name: start container run: ./start.sh - name: run test run: sudo docker exec -t clixon-test bash -c 'cd /usr/local/bin/test && detail=true ./sum.sh'