From 2530f9f52a589d85e66a8f2c4ef266a8ee7124a7 Mon Sep 17 00:00:00 2001 From: Jackson Delahunt Date: Thu, 24 Aug 2023 19:41:47 +1000 Subject: [PATCH] headless --- .github/workflows/build-and-publish.yml | 8 +++----- docker/scripts/{test-start.sh => headless.sh} | 9 +++++++-- docker/scripts/{test-stop.sh => test.sh} | 20 ++++++++++++++++--- 3 files changed, 27 insertions(+), 10 deletions(-) rename docker/scripts/{test-start.sh => headless.sh} (60%) rename docker/scripts/{test-stop.sh => test.sh} (55%) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 076d2bd..bd85883 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -36,15 +36,13 @@ jobs: tags: ghcr.io/${{ env.REPOSITORY_OWNER }}/desktop-environment:latest - name: Run desktop environment tests - run: | - ./docker/scripts/test-start.sh - ./docker/scripts/test-stop.sh + run: ./docker/scripts/test-start.sh env: DESKTOP_ENVIRONMENT_REGISTRY: ghcr.io/${{ env.REPOSITORY_OWNER }} continue-on-error: true - - name: Run desktop environment - run: ./docker/scripts/test-start.sh + - name: Start headless desktop environment + run: ./docker/scripts/headless.sh env: DESKTOP_ENVIRONMENT_REGISTRY: ghcr.io/${{ env.REPOSITORY_OWNER }} diff --git a/docker/scripts/test-start.sh b/docker/scripts/headless.sh similarity index 60% rename from docker/scripts/test-start.sh rename to docker/scripts/headless.sh index a25a7c3..1efb3f2 100755 --- a/docker/scripts/test-start.sh +++ b/docker/scripts/headless.sh @@ -7,13 +7,18 @@ eval "$($REPO_ROOT/docker/scripts/environment.sh)" docker network create $DESKTOP_ENVIRONMENT_DOCKER_NETWORK # Set the desktop environment test container name -DESKTOP_ENVIRONMENT_CONTAINER_NAME=${DESKTOP_ENVIRONMENT_CONTAINER_IMAGE}-test-$(date +%s) +DESKTOP_ENVIRONMENT_CONTAINER_NAME=${DESKTOP_ENVIRONMENT_CONTAINER_IMAGE}-headless # Start the desktop environment test container docker run \ --detach \ - --expose 8080 \ --name $DESKTOP_ENVIRONMENT_CONTAINER_NAME \ --rm \ $DESKTOP_ENVIRONMENT_REGISTRY/$DESKTOP_ENVIRONMENT_CONTAINER_IMAGE \ sleep infinity + +# Wait until the desktop environment test container is running before proceeding +timeout 10 sh -c "until docker inspect $DESKTOP_ENVIRONMENT_CONTAINER_NAME | grep Status | grep -m 1 running >/dev/null; do sleep 1; done" + +# Start the desktop environment inside the container +$REPO_ROOT/docker/scripts/exec.sh /home/$DESKTOP_ENVIRONMENT_USER/.config/scripts/startup.sh diff --git a/docker/scripts/test-stop.sh b/docker/scripts/test.sh similarity index 55% rename from docker/scripts/test-stop.sh rename to docker/scripts/test.sh index de5cc15..572c5ea 100755 --- a/docker/scripts/test-stop.sh +++ b/docker/scripts/test.sh @@ -3,14 +3,28 @@ REPO_ROOT=$(dirname $(readlink -f $0))/../.. # Export desktop environment shell configuration eval "$($REPO_ROOT/docker/scripts/environment.sh)" +# Ensure the desktop environment test network exists +docker network create $DESKTOP_ENVIRONMENT_DOCKER_NETWORK + +# Set the desktop environment test container name +DESKTOP_ENVIRONMENT_CONTAINER_NAME=${DESKTOP_ENVIRONMENT_CONTAINER_IMAGE}-test-$(date +%s) + +# Start the desktop environment test container +docker run \ + --detach \ + --name $DESKTOP_ENVIRONMENT_CONTAINER_NAME \ + --rm \ + $DESKTOP_ENVIRONMENT_REGISTRY/$DESKTOP_ENVIRONMENT_CONTAINER_IMAGE \ + sleep infinity + # Wait until the desktop environment test container is running before proceeding timeout 10 sh -c "until docker inspect $DESKTOP_ENVIRONMENT_CONTAINER_NAME | grep Status | grep -m 1 running >/dev/null; do sleep 1; done" -# Remove desktop environment test container -docker rm -f $DESKTOP_ENVIRONMENT_CONTAINER_NAME - # Check desktop environment container started successfully TEST_RESULT=$? +# Remove desktop environment test container +docker rm -f $DESKTOP_ENVIRONMENT_CONTAINER_NAME + # Exit with test result exit code exit $TEST_RESULT