diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 924701f..dc08cc7 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -17,3 +17,5 @@ jobs: tag_with_ref: true username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Run desktop environment tests + run: ./docker/scripts/test.sh diff --git a/docker/scripts/environment.sh b/docker/scripts/environment.sh index 7020a8a..67f1cba 100755 --- a/docker/scripts/environment.sh +++ b/docker/scripts/environment.sh @@ -7,7 +7,7 @@ DESKTOP_ENVIRONMENT_REGISTRY=${DESKTOP_ENVIRONMENT_REGISTRY-$DESKTOP_ENVIRONMENT # Desktop environment repository information echo export DESKTOP_ENVIRONMENT_CONTAINER_IMAGE=$DESKTOP_ENVIRONMENT_CONTAINER_IMAGE -echo export DESKTOP_ENVIRONMENT_CONTAINER_NAME=$DESKTOP_ENVIRONMENT_CONTAINER_IMAGE +echo export DESKTOP_ENVIRONMENT_CONTAINER_NAME=$DESKTOP_ENVIRONMENT_CONTAINER_NAME echo export DESKTOP_ENVIRONMENT_CONTAINER_TAG=${DESKTOP_ENVIRONMENT_CONTAINER_TAG-$(git --git-dir $REPO_ROOT/.git rev-parse --abbrev-ref HEAD)} echo export DESKTOP_ENVIRONMENT_REGISTRY=$DESKTOP_ENVIRONMENT_REGISTRY @@ -18,7 +18,7 @@ echo export DESKTOP_ENVIRONMENT_USER_HOME=$DESKTOP_ENVIRONMENT_USER_HOME echo export DESKTOP_ENVIRONMENT_USER_ID=1000 # Desktop environment docker configuration -echo export DESKTOP_ENVIRONMENT_DOCKER_NETWORK=$DESKTOP_ENVIRONMENT_REGISTRY-$DESKTOP_ENVIRONMENT_CONTAINER_IMAGE +echo export DESKTOP_ENVIRONMENT_DOCKER_NETWORK=$DESKTOP_ENVIRONMENT_REGISTRY-$DESKTOP_ENVIRONMENT_CONTAINER_NAME # Desktop environment application cache volumes echo export DESKTOP_ENVIRONMENT_CACHE_CHROME=$DESKTOP_ENVIRONMENT_USER_HOME/.cache/google-chrome diff --git a/docker/scripts/test.sh b/docker/scripts/test.sh index 8a5f084..01acce5 100755 --- a/docker/scripts/test.sh +++ b/docker/scripts/test.sh @@ -17,11 +17,18 @@ docker run \ $DESKTOP_ENVIRONMENT_REGISTRY/$DESKTOP_ENVIRONMENT_CONTAINER_IMAGE:$DESKTOP_ENVIRONMENT_CONTAINER_TAG \ sleep infinity -# Wait until the desktop environment container is running before proceeding +# Wait until the desktop environment test container is running before proceeding 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/vnc.sh +# Start the vnc server inside the desktop environment container +$REPO_ROOT/docker/scripts/exec.sh /home/$DESKTOP_ENVIRONMENT_USER/.config/scripts/startup.sh -# Check desktop environment started successfully -curl --silent localhost | grep -iq vnc +# Check desktop environment vnc server started successfully +$REPO_ROOT/docker/scripts/exec.sh "curl --silent localhost | grep -iq vnc" +TEST_RESULT=$? + +# Remove desktop environment test container +docker rm -f $DESKTOP_ENVIRONMENT_CONTAINER_NAME + +# Exit with test result exit code +exit $TEST_RESULT