diff --git a/.github/workflows/library-nginx1.25.yaml b/.github/workflows/library-nginx1.25.yaml index ddb35fd3..41f9d5ab 100644 --- a/.github/workflows/library-nginx1.25.yaml +++ b/.github/workflows/library-nginx1.25.yaml @@ -83,3 +83,34 @@ jobs: with: name: index.unikraft.io/unikraft.org/nginx:1.25 push: true + + run: + name: Test nginx:1.25 (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.25 + echo "Build nginx:1.25 unikernel" + kraft build --no-cache --no-update --plat qemu --arch x86_64 + + echo "Run nginx:1.25 unikernel" + kraft run --rm -M 256M --plat qemu --arch x86_64 . & + PID=$! + sleep 5 + + echo "nginx:1.25 unikernel started successfully locally" + + echo "Cleanup nginx:1.25 unikernel" + sudo kill "$PID" || true