diff --git a/.github/workflows/library-nginx1.15.yaml b/.github/workflows/library-nginx1.15.yaml index ebbc71ad..a89e2f4a 100644 --- a/.github/workflows/library-nginx1.15.yaml +++ b/.github/workflows/library-nginx1.15.yaml @@ -85,3 +85,34 @@ jobs: with: name: index.unikraft.io/unikraft.org/nginx:1.15 push: true + + run: + name: Test nginx:1.15 (Local build) + needs: [build] + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Install kraft CLI + run: | + echo "deb [trusted=yes] https://deb.pkg.kraftkit.sh/ /" | sudo tee /etc/apt/sources.list.d/kraftkit.list + sudo apt-get update + sudo apt-get install -y kraftkit + - name: Build, run and validate unikernel + run: | + set -euo pipefail + sudo chmod 666 /dev/kvm + cd library/nginx/1.15 + echo "Build nginx:1.15 unikernel" + kraft build --no-cache --no-update --plat qemu --arch x86_64 + + echo "Run nginx:1.15 unikernel" + kraft run --rm -M 256M --plat qemu --arch x86_64 . & + PID=$! + sleep 5 + + echo "nginx:1.15 unikernel started successfully locally" + + echo "Cleanup nginx:1.15 unikernel" + sudo kill "$PID" || true