diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml new file mode 100644 index 0000000..b982ba7 --- /dev/null +++ b/.github/workflows/demo.yml @@ -0,0 +1,44 @@ +name: "Demo" +on: + pull_request: + push: + branches: [ "main" ] +jobs: + # We're just checking if the demo start without hiccup. + test: + runs-on: ubuntu-latest + strategy: + matrix: + demo: + - homeassistant#basic + - homeassistant#ldap + - nextcloud#basic + - nextcloud#ldap + - nextcloud#sso + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@main + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + extra-conf: "system-features = nixos-test benchmark big-parallel kvm" + - name: Setup Caching + uses: cachix/cachix-action@v14 + with: + name: selfhostblocks + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + - name: Test demos + # See https://blog.stefan-koch.name/2020/12/10/qemu-guest-graceful-shutdown-from-python for + # inspiration. + run: | + set -x + + rm -f nixos.qcow2 + nix run nixpkgs#nixos-rebuild -- build-vm --flake ./demo/${{ matrix.demo }} + QEMU_NET_OPTS="hostfwd=tcp::8080-:80" ./result/bin/run-nixos-vm -nographic -qmp unix:/tmp/qmp-sock,server,nowait & + + nix run nixpkgs#socat -- - unix-connect:/tmp/qmp-sock <