diff --git a/docs/using_lagoon/lagoon_yml.md b/docs/using_lagoon/lagoon_yml.md index c46979f874..d061ab634f 100644 --- a/docs/using_lagoon/lagoon_yml.md +++ b/docs/using_lagoon/lagoon_yml.md @@ -14,6 +14,9 @@ The `.lagoon.yml` file must be placed at the root of your git repository. ``` docker-compose-yaml: docker-compose.yml +environment_variables: + git_sha: 'true' + tasks: pre-rollout: - run: @@ -77,6 +80,9 @@ This allows you to define the behaviour of the automatic creates routes (NOT the * `Redirect` will redirect any http requests to https * `None` will mean a route for http will _not_ be created, and no redirect +### `environment_variables.git_sha` +This setting allows you to enable injecting the deployed git SHA into your project as an environment variable. By default this is disabled, setting the value to `true` then sets the SHA as the environment variable `LAGOON_GIT_SHA`. + ## Tasks There are different type of tasks you can define, they differ when exactly they are executed in a build flow: diff --git a/images/oc-build-deploy-dind/build-deploy.sh b/images/oc-build-deploy-dind/build-deploy.sh index 94f65af9b9..dc53df5d42 100755 --- a/images/oc-build-deploy-dind/build-deploy.sh +++ b/images/oc-build-deploy-dind/build-deploy.sh @@ -18,8 +18,6 @@ else /oc-build-deploy/scripts/git-checkout-pull.sh "$SOURCE_REPOSITORY" "$GIT_REF" fi -LAGOON_GIT_SHA=`git rev-parse HEAD` - if [[ -n "$SUBFOLDER" ]]; then cd $SUBFOLDER fi @@ -28,6 +26,14 @@ if [ ! -f .lagoon.yml ]; then echo "no .lagoon.yml file found"; exit 1; fi +INJECT_GIT_SHA=$(cat .lagoon.yml | shyaml get-value environment_variables.git_sha false) +if [ "$INJECT_GIT_SHA" == "true" ] +then + LAGOON_GIT_SHA=`git rev-parse HEAD` +else + LAGOON_GIT_SHA="0000000000000000000000000000000000000000" +fi + DOCKER_REGISTRY_TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token) docker login -u=jenkins -p="${DOCKER_REGISTRY_TOKEN}" ${OPENSHIFT_REGISTRY} diff --git a/tests/files/drupal8-mariadb/.lagoon.yml b/tests/files/drupal8-mariadb/.lagoon.yml index d40f3d4b60..eeaa38b0ec 100644 --- a/tests/files/drupal8-mariadb/.lagoon.yml +++ b/tests/files/drupal8-mariadb/.lagoon.yml @@ -3,6 +3,9 @@ docker-compose-yaml: docker-compose.yml endpoint: 192.168.99.1:2020 api: 192.168.99.1:3000 +environment_variables: + git_sha: 'true' + tasks: post-rollout: - run: @@ -47,4 +50,4 @@ environments: - name: drush cron schedule: "1 * * * *" command: drush cron - service: cli \ No newline at end of file + service: cli diff --git a/tests/files/drupal8-postgres/.lagoon.yml b/tests/files/drupal8-postgres/.lagoon.yml index 47e06feeb4..a09707b9d2 100644 --- a/tests/files/drupal8-postgres/.lagoon.yml +++ b/tests/files/drupal8-postgres/.lagoon.yml @@ -3,6 +3,9 @@ docker-compose-yaml: docker-compose.yml endpoint: 192.168.99.1:2020 api: 192.168.99.1:3000 +environment_variables: + git_sha: 'true' + tasks: post-rollout: - run: @@ -40,4 +43,4 @@ environments: - name: drush cron schedule: "1 * * * *" command: drush cron - service: cli \ No newline at end of file + service: cli diff --git a/tests/files/elasticsearch-cluster/.lagoon.yml b/tests/files/elasticsearch-cluster/.lagoon.yml index c76c3c466a..f0ad2b8a73 100644 --- a/tests/files/elasticsearch-cluster/.lagoon.yml +++ b/tests/files/elasticsearch-cluster/.lagoon.yml @@ -1 +1,4 @@ docker-compose-yaml: docker-compose.yml + +environment_variables: + git_sha: 'true' diff --git a/tests/files/elasticsearch/.lagoon.yml b/tests/files/elasticsearch/.lagoon.yml index c76c3c466a..f0ad2b8a73 100644 --- a/tests/files/elasticsearch/.lagoon.yml +++ b/tests/files/elasticsearch/.lagoon.yml @@ -1 +1,4 @@ docker-compose-yaml: docker-compose.yml + +environment_variables: + git_sha: 'true' diff --git a/tests/files/features-autogenerated-routes-disabled/.lagoon.yml b/tests/files/features-autogenerated-routes-disabled/.lagoon.yml index e6ff7212d1..7f2a8c0198 100644 --- a/tests/files/features-autogenerated-routes-disabled/.lagoon.yml +++ b/tests/files/features-autogenerated-routes-disabled/.lagoon.yml @@ -1,5 +1,8 @@ docker-compose-yaml: docker-compose.yml +environment_variables: + git_sha: 'true' + routes: autogenerate: enabled: 'false' diff --git a/tests/files/features-disable-inject-git-sha/.dockerignore b/tests/files/features-disable-inject-git-sha/.dockerignore new file mode 100644 index 0000000000..b512c09d47 --- /dev/null +++ b/tests/files/features-disable-inject-git-sha/.dockerignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/tests/files/features-disable-inject-git-sha/.lagoon.yml b/tests/files/features-disable-inject-git-sha/.lagoon.yml new file mode 100644 index 0000000000..c76c3c466a --- /dev/null +++ b/tests/files/features-disable-inject-git-sha/.lagoon.yml @@ -0,0 +1 @@ +docker-compose-yaml: docker-compose.yml diff --git a/tests/files/features-disable-inject-git-sha/Dockerfile b/tests/files/features-disable-inject-git-sha/Dockerfile new file mode 100644 index 0000000000..51474cf2dc --- /dev/null +++ b/tests/files/features-disable-inject-git-sha/Dockerfile @@ -0,0 +1,18 @@ +ARG IMAGE_REPO +FROM ${IMAGE_REPO:-amazeeio}/node:8-builder as builder +COPY package.json yarn.lock /app/ +RUN yarn install + +FROM ${IMAGE_REPO:-amazeeio}/node:8 +COPY --from=builder /app/node_modules /app/node_modules +COPY . /app/ + +ARG LAGOON_GIT_SHA=0000000000000000000000000000000000000000 +ENV LAGOON_GIT_SHA_BUILDTIME ${LAGOON_GIT_SHA} + +ARG LAGOON_GIT_BRANCH=undefined +ENV LAGOON_GIT_BRANCH_BUILDTIME ${LAGOON_GIT_BRANCH} + +EXPOSE 3000 + +CMD ["yarn", "run", "start"] diff --git a/tests/files/features-disable-inject-git-sha/docker-compose.yml b/tests/files/features-disable-inject-git-sha/docker-compose.yml new file mode 100644 index 0000000000..65ac501f67 --- /dev/null +++ b/tests/files/features-disable-inject-git-sha/docker-compose.yml @@ -0,0 +1,23 @@ +version: '2' +services: + node: + networks: + - amazeeio-network + - default + build: + context: . + dockerfile: Dockerfile + labels: + lagoon.type: node-persistent + lagoon.persistent: /files + volumes: + - ./index.js:/app/index.js:delegated + expose: + - "3000" + environment: + - AMAZEEIO_URL=node.docker.amazee.io + - AMAZEEIO=AMAZEEIO + - AMAZEEIO_HTTP_PORT=3000 +networks: + amazeeio-network: + external: true \ No newline at end of file diff --git a/tests/files/features-disable-inject-git-sha/index.js b/tests/files/features-disable-inject-git-sha/index.js new file mode 100644 index 0000000000..dcff72e782 --- /dev/null +++ b/tests/files/features-disable-inject-git-sha/index.js @@ -0,0 +1,24 @@ +const express = require('express') +const fs = require('fs'); +const app = express() + +app.get('/', async function (req, res) { + let result = [] + Object.keys(process.env).map(key => { + result.push(`${key}=${process.env[key]}`) + }) + result.sort() + + try { + result.push(fs.readFileSync('/files/cron.txt').toString()); + } catch (e) { + // intentionally left empty + } + + res.send(result.join("
")) + +}) + +app.listen(3000, function () { + console.log('Example app listening on port 3000!') +}) diff --git a/tests/files/features-disable-inject-git-sha/package.json b/tests/files/features-disable-inject-git-sha/package.json new file mode 100644 index 0000000000..b577e5e022 --- /dev/null +++ b/tests/files/features-disable-inject-git-sha/package.json @@ -0,0 +1,12 @@ +{ + "name": "node", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "dependencies": { + "express": "^4.15.3" + }, + "scripts": { + "start": "node index.js" + } +} diff --git a/tests/files/features-disable-inject-git-sha/yarn.lock b/tests/files/features-disable-inject-git-sha/yarn.lock new file mode 100644 index 0000000000..d9c4cd4621 --- /dev/null +++ b/tests/files/features-disable-inject-git-sha/yarn.lock @@ -0,0 +1,247 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +accepts@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" + dependencies: + mime-types "~2.1.11" + negotiator "0.6.1" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + +content-type@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +debug@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" + dependencies: + ms "2.0.0" + +depd@1.1.0, depd@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +encodeurl@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +etag@~1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051" + +express@^4.15.3: + version "4.15.3" + resolved "https://registry.yarnpkg.com/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662" + dependencies: + accepts "~1.3.3" + array-flatten "1.1.1" + content-disposition "0.5.2" + content-type "~1.0.2" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.7" + depd "~1.1.0" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.8.0" + finalhandler "~1.0.3" + fresh "0.5.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.1" + path-to-regexp "0.1.7" + proxy-addr "~1.1.4" + qs "6.4.0" + range-parser "~1.2.0" + send "0.15.3" + serve-static "1.12.3" + setprototypeof "1.0.3" + statuses "~1.3.1" + type-is "~1.6.15" + utils-merge "1.0.0" + vary "~1.1.1" + +finalhandler@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" + dependencies: + debug "2.6.7" + encodeurl "~1.0.1" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.1" + statuses "~1.3.1" + unpipe "~1.0.0" + +forwarded@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363" + +fresh@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" + +http-errors@~1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257" + dependencies: + depd "1.1.0" + inherits "2.0.3" + setprototypeof "1.0.3" + statuses ">= 1.3.1 < 2" + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +ipaddr.js@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + +mime-db@~1.27.0: + version "1.27.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" + +mime-types@~2.1.11, mime-types@~2.1.15: + version "2.1.15" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" + dependencies: + mime-db "~1.27.0" + +mime@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +parseurl@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + +proxy-addr@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3" + dependencies: + forwarded "~0.1.0" + ipaddr.js "1.3.0" + +qs@6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + +range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +send@0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/send/-/send-0.15.3.tgz#5013f9f99023df50d1bd9892c19e3defd1d53309" + dependencies: + debug "2.6.7" + depd "~1.1.0" + destroy "~1.0.4" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.8.0" + fresh "0.5.0" + http-errors "~1.6.1" + mime "1.3.4" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.3.1" + +serve-static@1.12.3: + version "1.12.3" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2" + dependencies: + encodeurl "~1.0.1" + escape-html "~1.0.3" + parseurl "~1.3.1" + send "0.15.3" + +setprototypeof@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" + +"statuses@>= 1.3.1 < 2", statuses@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + +type-is@~1.6.15: + version "1.6.15" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.15" + +unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +utils-merge@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" + +vary@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" diff --git a/tests/files/features-subfolder/subfolder1/subfolder2/.lagoon.yml b/tests/files/features-subfolder/subfolder1/subfolder2/.lagoon.yml index c76c3c466a..f0ad2b8a73 100644 --- a/tests/files/features-subfolder/subfolder1/subfolder2/.lagoon.yml +++ b/tests/files/features-subfolder/subfolder1/subfolder2/.lagoon.yml @@ -1 +1,4 @@ docker-compose-yaml: docker-compose.yml + +environment_variables: + git_sha: 'true' diff --git a/tests/files/features/.lagoon.yml b/tests/files/features/.lagoon.yml index a1226c1654..2637a6ba5e 100644 --- a/tests/files/features/.lagoon.yml +++ b/tests/files/features/.lagoon.yml @@ -1,5 +1,8 @@ docker-compose-yaml: docker-compose.yml +environment_variables: + git_sha: 'true' + environments: branch/routes: routes: diff --git a/tests/files/nginx/first/.lagoon.yml b/tests/files/nginx/first/.lagoon.yml index 482709be7d..568fb7a825 100644 --- a/tests/files/nginx/first/.lagoon.yml +++ b/tests/files/nginx/first/.lagoon.yml @@ -1,5 +1,8 @@ docker-compose-yaml: docker-compose.yml +environment_variables: + git_sha: 'true' + environments: nginx: routes: @@ -15,4 +18,4 @@ environments: hsts: max-age=15768000 - hsts-header-null.com - nginx-basic-auth: - - nginx-basic-auth.com \ No newline at end of file + - nginx-basic-auth.com diff --git a/tests/files/nginx/second/.lagoon.yml b/tests/files/nginx/second/.lagoon.yml index 58483e6d31..6caa950974 100644 --- a/tests/files/nginx/second/.lagoon.yml +++ b/tests/files/nginx/second/.lagoon.yml @@ -1,5 +1,8 @@ docker-compose-yaml: docker-compose.yml +environment_variables: + git_sha: 'true' + routes: autogenerate: insecure: Redirect @@ -22,4 +25,4 @@ environments: hsts: max-age=15768000 - nginx-basic-auth: - nginx-basic-auth.com - - moving-route.com \ No newline at end of file + - moving-route.com diff --git a/tests/files/node6_subfolder/.lagoon.yml b/tests/files/node6_subfolder/.lagoon.yml index a119f69e5b..262c483a83 100644 --- a/tests/files/node6_subfolder/.lagoon.yml +++ b/tests/files/node6_subfolder/.lagoon.yml @@ -1,8 +1,11 @@ docker-compose-yaml: docker-compose.yml +environment_variables: + git_sha: 'true' + environments: node6: routes: - node: - customdomain-will-be-main-domain.com - - customdomain-will-be-not-be-main-domain.com \ No newline at end of file + - customdomain-will-be-not-be-main-domain.com diff --git a/tests/files/node8/.lagoon.yml b/tests/files/node8/.lagoon.yml index 7821024c32..1f8f5898f6 100644 --- a/tests/files/node8/.lagoon.yml +++ b/tests/files/node8/.lagoon.yml @@ -1,8 +1,11 @@ docker-compose-yaml: docker-compose.yml +environment_variables: + git_sha: 'true' + environments: node8: routes: - node: - customdomain-will-be-main-domain.com - - customdomain-will-be-not-be-main-domain.com \ No newline at end of file + - customdomain-will-be-not-be-main-domain.com diff --git a/tests/tests/features/disable-inject-git-sha.yaml b/tests/tests/features/disable-inject-git-sha.yaml new file mode 100644 index 0000000000..3ec9a4bf8c --- /dev/null +++ b/tests/tests/features/disable-inject-git-sha.yaml @@ -0,0 +1,45 @@ + +- name: "{{ testname }} - init git, add files, commit, git push" + hosts: localhost + serial: 1 + vars: + git_files: "features-disable-inject-git-sha/" + tasks: + - include: ../../tasks/git-init.yaml + - include: ../../tasks/git-add-commit-push.yaml + +- name: "{{ testname }} - rest2tasks deploy post for just git branch on {{ project }}" + hosts: localhost + serial: 1 + vars: + branch: "{{ branch }}" + project: "{{ project }}" + tasks: + - include: ../../tasks/rest/deploy-no-sha.yaml + +- name: "{{ testname }} - check that the git sha is 0's" + hosts: localhost + serial: 1 + vars: + url: "{{ check_url }}" + expected_content: "LAGOON_GIT_SHA=0000000000000000000000000000000000000000" + tasks: + - include: ../../checks/check-url-content.yaml + +- name: "{{ testname }} - api deleteEnvironment on {{ project }}, which should remove all resources" + hosts: localhost + serial: 1 + vars: + project: "{{ project }}" + branch: "{{ branch }}" + tasks: + - include: ../../tasks/api/remove.yaml + +- name: "{{ testname }} - check if site for {{ project }} does not exist anymore" + hosts: localhost + serial: 1 + vars: + url: "{{ check_url }}" + expected_returncode: 503 + tasks: + - include: ../../checks/check-url-returncode-host.yaml