From 29fae90da5546e1c9e58774c78dc71d0b4513f44 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Thu, 15 Apr 2021 10:50:07 +0200 Subject: [PATCH] Extend supervisor CI checks (#2813) --- .github/workflows/builder.yml | 49 ++++++++++++++++++++++++++++++++--- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index d347cad49..f82272395 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -192,7 +192,7 @@ jobs: run_supervisor: runs-on: ubuntu-latest name: Run the Supervisor - needs: ["build", "codenotary"] + needs: ["build", "codenotary", "init"] steps: - name: Checkout the repository uses: actions/checkout@v2 @@ -231,22 +231,63 @@ jobs: SUPERVISOR=$(docker inspect --format='{{.NetworkSettings.IPAddress}}' hassio_supervisor) ping="error" while [ "$ping" != "ok" ]; do - ping=$(curl -sSL "http://$SUPERVISOR/supervisor/ping" | jq -r .result) + ping=$(curl -sSL "http://$SUPERVISOR/supervisor/ping" | jq -r '.result') sleep 5 done + docker logs hassio_supervisor - name: Check the Supervisor run: | echo "Checking supervisor info" - test=$(docker exec hassio_cli ha supervisor info --no-progress --raw-json | jq -r .result) + test=$(docker exec hassio_cli ha supervisor info --no-progress --raw-json | jq -r '.result') if [ "$test" != "ok" ];then docker logs hassio_supervisor exit 1 fi echo "Checking supervisor network info" - test=$(docker exec hassio_cli ha network info --no-progress --raw-json | jq -r .result) + test=$(docker exec hassio_cli ha network info --no-progress --raw-json | jq -r '.result') if [ "$test" != "ok" ];then docker logs hassio_supervisor exit 1 fi + + - name: Check the Store / Addon + run: | + echo "Install Core SSH Add-on" + test=$(docker exec hassio_cli ha addons install core_ssh --no-progress --raw-json | jq -r '.result') + if [ "$test" != "ok" ];then + docker logs hassio_supervisor + exit 1 + fi + + echo "Start Core SSH Add-on" + test=$(docker exec hassio_cli ha addons start core_ssh --no-progress --raw-json | jq -r '.result') + if [ "$test" != "ok" ];then + docker logs hassio_supervisor + exit 1 + fi + + - name: Check the Supervisor code sign + if: needs.init.outputs.publish == 'true' + run: | + echo "Enable Content-Trust" + test=$(docker exec hassio_cli ha supervisor options --content-trust=true --no-progress --raw-json | jq -r '.result') + if [ "$test" != "ok" ];then + docker logs hassio_supervisor + exit 1 + fi + + echo "Run supervisor health check" + test=$(docker exec hassio_cli ha resolution healthcheck --no-progress --raw-json | jq -r '.result') + if [ "$test" != "ok" ];then + docker logs hassio_supervisor + exit 1 + fi + + echo "Check supervisor unhealthy" + test=$(docker exec hassio_cli ha resolution info --no-progress --raw-json | jq -r '.data.unhealthy[]') + if [ "$test" != "" ];then + docker logs hassio_supervisor + exit 1 + fi