dhcp.node_server: support async message handlers. #46
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Push (build and unit test) | |
on: | |
push: {} | |
pull_request: | |
branches: [ master ] | |
workflow_dispatch: {} | |
jobs: | |
clj-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: zulu | |
java-version: 11 | |
- name: Install Clojure and Tools | |
uses: DeLaGuardo/[email protected] | |
with: | |
lein: 'latest' # Leiningen | |
bb: 'latest' | |
- name: Cache Clojure dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository | |
# List all files containing dependencies: | |
key: cljdeps-${{ hashFiles('deps.edn', 'bb.edn') }} | |
restore-keys: cljdeps- | |
- name: Run lein test | |
run: lein test | |
cljs-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Compile cljs | |
run: npx shadow-cljs compile test | |
- name: Run npm tests | |
run: node build/test.js | |
compose-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: dhcp test | |
run: | | |
echo "COMPOSE_PROFILES=dhcp" > .env | |
docker-compose up --force-recreate -d | |
while ! docker-compose logs net | grep "Creating veth"; do | |
echo "Waiting for compose startup, sleeping 2 seconds"; sleep 2 | |
done | |
while true; do | |
[ $(docker-compose logs | grep "client.*ACK from" | wc -l) -ge 4 ] && break | |
echo "Waiting for 4 client ACKs, sleeping 2 second"; sleep 2 | |
done | |
docker-compose down --remove-orphans -t1 | |
- name: ping test | |
run: | | |
echo "COMPOSE_PROFILES=ping" > .env | |
docker-compose up --force-recreate -d | |
while ! docker-compose logs net | grep "Creating veth"; do | |
echo "Waiting for compose startup, sleeping 2 seconds"; sleep 2 | |
done | |
while true; do | |
[ $(docker-compose logs | grep "echo-reply" | wc -l) -ge 2 ] && break | |
echo "Waiting for 2+ echo replies, sleeping 2 second"; sleep 2 | |
done | |
docker-compose down --remove-orphans -t1 | |
- name: mac2ip test | |
run: | | |
echo "COMPOSE_PROFILES=mac2ip" > .env | |
docker-compose up --force-recreate -d | |
while ! docker-compose logs net | grep "Creating veth"; do | |
echo "Waiting for compose startup, sleeping 2 seconds"; sleep 2 | |
done | |
while true; do | |
[ $(docker-compose logs | grep -o "worker-.*ACK to" | sort | uniq | wc -l) -ge 2 ] && break | |
echo "Waiting for 2+ uniq workers to ACK, sleeping 2 second"; sleep 2 | |
done | |
docker-compose down --remove-orphans -t1 |