image: docker:stable services: - docker:stable-dind stages: - build - test workflow: rules: - if: $CI_MERGE_REQUEST_ID - if: $CI_COMMIT_BRANCH variables: UBUNTU_TESTING_IMAGE_TAG: "$CI_REGISTRY_IMAGE/gitlabci_outputs/ubuntu_testing:$CI_COMMIT_SHA" build-ubuntu-test-image: stage: build script: - > docker login "$CI_REGISTRY" --username "$CI_REGISTRY_USER" --password "$CI_REGISTRY_PASSWORD" - mkdir Dockercontext - > docker build -t $UBUNTU_TESTING_IMAGE_TAG $($CI_PROJECT_DIR/build_scripts/GitlabCI/getRepoArgs.sh) --file $CI_PROJECT_DIR/build_scripts/GitlabCI/gitlabCI.Dockerfile Dockercontext - docker push $UBUNTU_TESTING_IMAGE_TAG - echo UBUNTU_TESTING_IMAGE_TAG=$UBUNTU_TESTING_IMAGE_TAG test-ubuntu: stage: test script: - > docker login "$CI_REGISTRY" --username "$CI_REGISTRY_USER" --password "$CI_REGISTRY_PASSWORD" - echo UBUNTU_TESTING_IMAGE_TAG=$UBUNTU_TESTING_IMAGE_TAG - docker pull $UBUNTU_TESTING_IMAGE_TAG - > docker run --name retroshare --detach --tty $UBUNTU_TESTING_IMAGE_TAG retroshare-service --jsonApiPort 9092 - apk add jq - > docker exec retroshare curl --verbose http://127.0.0.1:9092/rsJsonApi/version | jq - > docker exec retroshare curl --verbose http://127.0.0.1:9092/rsLoginHelper/getLocations | jq - > docker exec retroshare curl --verbose --data '{ "location":{ "mLocationName":"Test 1", "mPgpName":"Test2" }, "password":"Test 3", "caller_data":"Test 5" }' http://127.0.0.1:9092/rsLoginHelper/createLocation | jq - > docker exec retroshare curl --verbose http://127.0.0.1:9092/rsLoginHelper/getLocations | jq - > docker exec retroshare curl --verbose http://127.0.0.1:9092/rsLoginHelper/isLoggedIn | jq - > docker exec retroshare curl --verbose http://127.0.0.1:9092/rsMsgs/getChatLobbyList | jq - docker container stop retroshare