From e82bbbba1430553984942ce161309508c12978ce Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 1 Feb 2016 14:51:19 +0100 Subject: [PATCH 01/29] [TEST] Scripts to run the tests with docker --- docker/bamboo-env-mapping.sh | 9 +++++++++ docker/scripts/cleanup.sh | 14 ++++++++++++++ docker/scripts/fetch-pr.sh | 7 +++++++ docker/scripts/generate-archive.sh | 17 +++++++++++++++++ docker/scripts/get-test-result.sh | 16 ++++++++++++++++ docker/scripts/jobs/sniffer.sh | 7 +++++++ docker/scripts/prepare-code.sh | 7 +++++++ docker/scripts/prepare-sources.sh | 22 ++++++++++++++++++++++ docker/scripts/set-result-status.sh | 23 +++++++++++++++++++++++ docker/scripts/set-status.sh | 9 +++++++++ 10 files changed, 131 insertions(+) create mode 100644 docker/bamboo-env-mapping.sh create mode 100755 docker/scripts/cleanup.sh create mode 100755 docker/scripts/fetch-pr.sh create mode 100755 docker/scripts/generate-archive.sh create mode 100755 docker/scripts/get-test-result.sh create mode 100755 docker/scripts/jobs/sniffer.sh create mode 100755 docker/scripts/prepare-code.sh create mode 100755 docker/scripts/prepare-sources.sh create mode 100755 docker/scripts/set-result-status.sh create mode 100755 docker/scripts/set-status.sh diff --git a/docker/bamboo-env-mapping.sh b/docker/bamboo-env-mapping.sh new file mode 100644 index 0000000000..64844cbf75 --- /dev/null +++ b/docker/bamboo-env-mapping.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +export IMAGES_TAG=${bamboo_images_tag} + +export WORKING_DIR=${bamboo_working_directory} +export PR_NUMBER=${bamboo_PRnumber} +export COMPOSER_HOME=${bamboo_composer_home} +export GITHUB_TOKEN=${bamboo_github_token_password} +export BUILD_RESULT_URL=${bamboo_buildResultsUrl} diff --git a/docker/scripts/cleanup.sh b/docker/scripts/cleanup.sh new file mode 100755 index 0000000000..2a379644e9 --- /dev/null +++ b/docker/scripts/cleanup.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +# We assume the docker daemon is dedicated to the current job (the jobs runs on isolated docker daemon) +# Stop running containers +for container in $(docker ps -q) +do + docker stop $container || true +done + +# Removing containers +for container in $(docker ps -a -q) +do + docker rm -v $container || true +done diff --git a/docker/scripts/fetch-pr.sh b/docker/scripts/fetch-pr.sh new file mode 100755 index 0000000000..29004ef537 --- /dev/null +++ b/docker/scripts/fetch-pr.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +docker run \ + --user $(id -u):$(id -g) \ + --volume ${WORKING_DIR}:/data \ + --workdir /data \ + phpbb/build${IMAGES_TAG} sh -c 'git remote set-url origin "https://github.com/phpbb/phpbb.git" && git fetch origin +refs/pull/'${PR_NUMBER}'/merge && git checkout FETCH_HEAD' diff --git a/docker/scripts/generate-archive.sh b/docker/scripts/generate-archive.sh new file mode 100755 index 0000000000..e78d6ec14b --- /dev/null +++ b/docker/scripts/generate-archive.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bas + +cat < generate-archive.sh +git remote set-url origin "https://github.com/phpbb/phpbb.git" +git fetch origin +refs/pull/${PR_NUMBER}/head +last_commit=\$(git rev-parse FETCH_HEAD) +echo "\$last_commit" > build/logs/last_commit +tar --exclude-backups --exclude-vcs --exclude='.git' --exclude='generate-archive.sh' -p -c -z -f source_code.tar.gz * +EOL + +docker run \ + --user $(id -u):$(id -g) \ + --volume ${WORKING_DIR}:/data \ + --workdir /data \ + phpbb/build{IMAGES_TAG} sh generate-archive.sh + +rm generate-archive.sh diff --git a/docker/scripts/get-test-result.sh b/docker/scripts/get-test-result.sh new file mode 100755 index 0000000000..1a25c24eb5 --- /dev/null +++ b/docker/scripts/get-test-result.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +if [ -s build/logs/phpunit.xml ]; then + res=$(cat build/logs/sniffs_res 2>/dev/null) + if ( grep 'failures="[^0]"' build/logs/phpunit.xml ); then + res=1 + elif ( grep 'errors="[^0]"' build/logs/phpunit.xml ); then + res=2 + else + res=0 + fi +else + res=2 +fi + +echo ${res} diff --git a/docker/scripts/jobs/sniffer.sh b/docker/scripts/jobs/sniffer.sh new file mode 100755 index 0000000000..b33e636d4d --- /dev/null +++ b/docker/scripts/jobs/sniffer.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +docker run \ + --user $(id -u):$(id -g) \ + --volume ${WORKING_DIR}:/data \ + --workdir /data \ + php:5.6 sh -c 'cd build && ../phpBB/vendor/bin/phing sniff && echo 0 > logs/sniffs_res || echo 1 > logs/sniffs_res' diff --git a/docker/scripts/prepare-code.sh b/docker/scripts/prepare-code.sh new file mode 100755 index 0000000000..c1897735d6 --- /dev/null +++ b/docker/scripts/prepare-code.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +docker run \ + --user $(id -u):$(id -g) \ + --volume ${WORKING_DIR}:/data \ + --workdir /data \ + debian tar -p -x -z -f source_code.tar.gz diff --git a/docker/scripts/prepare-sources.sh b/docker/scripts/prepare-sources.sh new file mode 100755 index 0000000000..c45046fa59 --- /dev/null +++ b/docker/scripts/prepare-sources.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +# Ensure the github oauth token is set +docker run \ + --user $(id -u):$(id -g) \ + --volume ${WORKING_DIR}:/data \ + --volume ${COMPOSER_HOME}:/composer/ \ + --workdir /data \ + phpbb/build{IMAGES_TAG} sh -c "COMPOSER_HOME=/composer php composer.phar config -g github-oauth.github.com ${GITHUB_TOKEN}" + +docker run \ + --user $(id -u):$(id -g) \ + --volume ${WORKING_DIR}:/data \ + --volume ${COMPOSER_HOME}:/composer/ \ + --workdir /data \ + phpbb/build{IMAGES_TAG} sh -c 'cd phpBB; COMPOSER_HOME=/composer php ../composer.phar install --dev' + +docker run \ + --user $(id -u):$(id -g) \ + --volume ${WORKING_DIR}:/data \ + --workdir /data \ + phpbb/build{IMAGES_TAG} sh -c 'cd build; ../phpBB/vendor/bin/phing clean prepare' diff --git a/docker/scripts/set-result-status.sh b/docker/scripts/set-result-status.sh new file mode 100755 index 0000000000..ece118d641 --- /dev/null +++ b/docker/scripts/set-result-status.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +last_commit=$(cat build/logs/last_commit) + +result_file=$1 +step=$2 + +if [ -s build/logs/${result_file} ]; then + res=$(cat build/logs/${result_file} 2>/dev/null) +else + res=2 +fi + +if [ $res -eq 0 ]; then + echo Send success + ./set-status.sh 'success' 'The Bamboo build is a success' ${step} +elif [ $res -eq 1 ]; then + echo Send Failure + ./set-status.sh 'failure' 'The Bamboo build failed' ${step} +else + echo Send error + ./set-status.sh 'error' 'The Bamboo build is in error' ${step} +fi diff --git a/docker/scripts/set-status.sh b/docker/scripts/set-status.sh new file mode 100755 index 0000000000..0591502e9f --- /dev/null +++ b/docker/scripts/set-status.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +last_commit=$(cat build/logs/last_commit) + +status=$1 +description=$2 +step=$3 + +curl -H "Authorization: token ${GITHUB_TOKEN}" --request POST --data '{"state": "'${status}'", "description": "'${description}'", "target_url": "'${BUILD_RESULT_URL}'", "context": "phpBB continuous integration - '${step}'"}' https://api.github.com/repos/phpbb/phpbb/statuses/${last_commit} > /dev/null From e3aed4f17c11a5604fcc14561deb7bc61f097336 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 1 Feb 2016 21:44:56 +0100 Subject: [PATCH 02/29] Fix images --- docker/scripts/fetch-pr.sh | 7 ++++++- docker/scripts/generate-archive.sh | 2 +- docker/scripts/prepare-sources.sh | 6 +++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/docker/scripts/fetch-pr.sh b/docker/scripts/fetch-pr.sh index 29004ef537..8d2b8bcd98 100755 --- a/docker/scripts/fetch-pr.sh +++ b/docker/scripts/fetch-pr.sh @@ -4,4 +4,9 @@ docker run \ --user $(id -u):$(id -g) \ --volume ${WORKING_DIR}:/data \ --workdir /data \ - phpbb/build${IMAGES_TAG} sh -c 'git remote set-url origin "https://github.com/phpbb/phpbb.git" && git fetch origin +refs/pull/'${PR_NUMBER}'/merge && git checkout FETCH_HEAD' + phpbb/build${IMAGES_TAG} sh -c ' + git config user.email "no-reply@phpbb.com" && + git config user.name "phpBB CI" && + git remote set-url origin "https://github.com/phpbb/phpbb.git" && + git fetch origin +refs/pull/'${PR_NUMBER}'/merge && + git checkout FETCH_HEAD' diff --git a/docker/scripts/generate-archive.sh b/docker/scripts/generate-archive.sh index e78d6ec14b..d754afcf00 100755 --- a/docker/scripts/generate-archive.sh +++ b/docker/scripts/generate-archive.sh @@ -12,6 +12,6 @@ docker run \ --user $(id -u):$(id -g) \ --volume ${WORKING_DIR}:/data \ --workdir /data \ - phpbb/build{IMAGES_TAG} sh generate-archive.sh + phpbb/build${IMAGES_TAG} sh generate-archive.sh rm generate-archive.sh diff --git a/docker/scripts/prepare-sources.sh b/docker/scripts/prepare-sources.sh index c45046fa59..6202a6ede8 100755 --- a/docker/scripts/prepare-sources.sh +++ b/docker/scripts/prepare-sources.sh @@ -6,17 +6,17 @@ docker run \ --volume ${WORKING_DIR}:/data \ --volume ${COMPOSER_HOME}:/composer/ \ --workdir /data \ - phpbb/build{IMAGES_TAG} sh -c "COMPOSER_HOME=/composer php composer.phar config -g github-oauth.github.com ${GITHUB_TOKEN}" + phpbb/build${IMAGES_TAG} sh -c "COMPOSER_HOME=/composer php composer.phar config -g github-oauth.github.com ${GITHUB_TOKEN}" docker run \ --user $(id -u):$(id -g) \ --volume ${WORKING_DIR}:/data \ --volume ${COMPOSER_HOME}:/composer/ \ --workdir /data \ - phpbb/build{IMAGES_TAG} sh -c 'cd phpBB; COMPOSER_HOME=/composer php ../composer.phar install --dev' + phpbb/build${IMAGES_TAG} sh -c 'cd phpBB; COMPOSER_HOME=/composer php ../composer.phar install --dev' docker run \ --user $(id -u):$(id -g) \ --volume ${WORKING_DIR}:/data \ --workdir /data \ - phpbb/build{IMAGES_TAG} sh -c 'cd build; ../phpBB/vendor/bin/phing clean prepare' + phpbb/build${IMAGES_TAG} sh -c 'cd build; ../phpBB/vendor/bin/phing clean prepare' From 6145949c5a0d618a0391dfb74e229bb2a89e4099 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 1 Feb 2016 22:07:27 +0100 Subject: [PATCH 03/29] Sniffer && generate archive --- docker/scripts/generate-archive.sh | 2 +- docker/scripts/jobs/sniffer.sh | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docker/scripts/generate-archive.sh b/docker/scripts/generate-archive.sh index d754afcf00..1d046eca13 100755 --- a/docker/scripts/generate-archive.sh +++ b/docker/scripts/generate-archive.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bas +#!/usr/bin/env bash cat < generate-archive.sh git remote set-url origin "https://github.com/phpbb/phpbb.git" diff --git a/docker/scripts/jobs/sniffer.sh b/docker/scripts/jobs/sniffer.sh index b33e636d4d..92ae207349 100755 --- a/docker/scripts/jobs/sniffer.sh +++ b/docker/scripts/jobs/sniffer.sh @@ -4,4 +4,8 @@ docker run \ --user $(id -u):$(id -g) \ --volume ${WORKING_DIR}:/data \ --workdir /data \ - php:5.6 sh -c 'cd build && ../phpBB/vendor/bin/phing sniff && echo 0 > logs/sniffs_res || echo 1 > logs/sniffs_res' + php:5.6 sh -c ' + cd build && + ../phpBB/vendor/bin/phing sniff && + echo 0 > logs/sniffs_res || + echo 1 > logs/sniffs_res' From 793a7923c21754ea203c4a822afe49244d806cc0 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 1 Feb 2016 22:13:15 +0100 Subject: [PATCH 04/29] Prepare sources --- docker/scripts/prepare-sources.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docker/scripts/prepare-sources.sh b/docker/scripts/prepare-sources.sh index 6202a6ede8..e8a788b4c8 100755 --- a/docker/scripts/prepare-sources.sh +++ b/docker/scripts/prepare-sources.sh @@ -13,7 +13,11 @@ docker run \ --volume ${WORKING_DIR}:/data \ --volume ${COMPOSER_HOME}:/composer/ \ --workdir /data \ - phpbb/build${IMAGES_TAG} sh -c 'cd phpBB; COMPOSER_HOME=/composer php ../composer.phar install --dev' + phpbb/build${IMAGES_TAG} sh -c ' + cd phpBB && + git config user.email "no-reply@phpbb.com" && + git config user.name "phpBB CI" && + COMPOSER_HOME=/composer php ../composer.phar install --dev' docker run \ --user $(id -u):$(id -g) \ From abae70079bef84c92692d481b62fdb164e03414c Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 1 Feb 2016 22:16:08 +0100 Subject: [PATCH 05/29] Prepare sources --- docker/scripts/prepare-sources.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/scripts/prepare-sources.sh b/docker/scripts/prepare-sources.sh index e8a788b4c8..a642449799 100755 --- a/docker/scripts/prepare-sources.sh +++ b/docker/scripts/prepare-sources.sh @@ -14,9 +14,9 @@ docker run \ --volume ${COMPOSER_HOME}:/composer/ \ --workdir /data \ phpbb/build${IMAGES_TAG} sh -c ' - cd phpBB && git config user.email "no-reply@phpbb.com" && git config user.name "phpBB CI" && + cd phpBB && COMPOSER_HOME=/composer php ../composer.phar install --dev' docker run \ From 0f2caeff07dfe017c8ff9eb3b8b3b7b7cfe94654 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 1 Feb 2016 22:30:26 +0100 Subject: [PATCH 06/29] Set status --- docker/scripts/set-status.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/scripts/set-status.sh b/docker/scripts/set-status.sh index 0591502e9f..1870636392 100755 --- a/docker/scripts/set-status.sh +++ b/docker/scripts/set-status.sh @@ -6,4 +6,4 @@ status=$1 description=$2 step=$3 -curl -H "Authorization: token ${GITHUB_TOKEN}" --request POST --data '{"state": "'${status}'", "description": "'${description}'", "target_url": "'${BUILD_RESULT_URL}'", "context": "phpBB continuous integration - '${step}'"}' https://api.github.com/repos/phpbb/phpbb/statuses/${last_commit} > /dev/null +curl -H "Authorization: token ${GITHUB_TOKEN}" --request POST --data "{\"state\": \"${status}\", \"description\": \"${description}\", \"target_url\": \"${BUILD_RESULT_URL}\", \"context\": \"phpBB continuous integration - ${step}\"}" https://api.github.com/repos/phpbb/phpbb/statuses/${last_commit} > /dev/null From d37f9f288e9fc0fc9e3830e8a2c41b6a5dbe7c91 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 1 Feb 2016 22:34:35 +0100 Subject: [PATCH 07/29] Set status --- docker/scripts/set-status.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/scripts/set-status.sh b/docker/scripts/set-status.sh index 1870636392..07b009d9d1 100755 --- a/docker/scripts/set-status.sh +++ b/docker/scripts/set-status.sh @@ -6,4 +6,6 @@ status=$1 description=$2 step=$3 +echo curl -H "Authorization: token ${GITHUB_TOKEN}" --request POST --data "{\"state\": \"${status}\", \"description\": \"${description}\", \"target_url\": \"${BUILD_RESULT_URL}\", \"context\": \"phpBB continuous integration - ${step}\"}" https://api.github.com/repos/phpbb/phpbb/statuses/${last_commit} + curl -H "Authorization: token ${GITHUB_TOKEN}" --request POST --data "{\"state\": \"${status}\", \"description\": \"${description}\", \"target_url\": \"${BUILD_RESULT_URL}\", \"context\": \"phpBB continuous integration - ${step}\"}" https://api.github.com/repos/phpbb/phpbb/statuses/${last_commit} > /dev/null From 3d29fe29c4d2f06dafcf297d737f25683c81e5a6 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 1 Feb 2016 22:34:43 +0100 Subject: [PATCH 08/29] Set status --- docker/scripts/set-status.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker/scripts/set-status.sh b/docker/scripts/set-status.sh index 07b009d9d1..1870636392 100755 --- a/docker/scripts/set-status.sh +++ b/docker/scripts/set-status.sh @@ -6,6 +6,4 @@ status=$1 description=$2 step=$3 -echo curl -H "Authorization: token ${GITHUB_TOKEN}" --request POST --data "{\"state\": \"${status}\", \"description\": \"${description}\", \"target_url\": \"${BUILD_RESULT_URL}\", \"context\": \"phpBB continuous integration - ${step}\"}" https://api.github.com/repos/phpbb/phpbb/statuses/${last_commit} - curl -H "Authorization: token ${GITHUB_TOKEN}" --request POST --data "{\"state\": \"${status}\", \"description\": \"${description}\", \"target_url\": \"${BUILD_RESULT_URL}\", \"context\": \"phpBB continuous integration - ${step}\"}" https://api.github.com/repos/phpbb/phpbb/statuses/${last_commit} > /dev/null From cd1f4279f3fd22761480dbe26cc57c5afa2f0307 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 1 Feb 2016 22:40:49 +0100 Subject: [PATCH 09/29] Set status --- docker/scripts/set-result-status.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/scripts/set-result-status.sh b/docker/scripts/set-result-status.sh index ece118d641..1cfdae0286 100755 --- a/docker/scripts/set-result-status.sh +++ b/docker/scripts/set-result-status.sh @@ -13,11 +13,11 @@ fi if [ $res -eq 0 ]; then echo Send success - ./set-status.sh 'success' 'The Bamboo build is a success' ${step} + $(pwd)/set-status.sh 'success' 'The Bamboo build is a success' ${step} elif [ $res -eq 1 ]; then echo Send Failure - ./set-status.sh 'failure' 'The Bamboo build failed' ${step} + $(pwd)/set-status.sh 'failure' 'The Bamboo build failed' ${step} else echo Send error - ./set-status.sh 'error' 'The Bamboo build is in error' ${step} + $(pwd)/set-status.sh 'error' 'The Bamboo build is in error' ${step} fi From 8947a6f9f6bb9ac7631ca039009607a91238c22b Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 1 Feb 2016 22:58:52 +0100 Subject: [PATCH 10/29] Set status --- docker/scripts/set-result-status.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/scripts/set-result-status.sh b/docker/scripts/set-result-status.sh index 1cfdae0286..7c685fa6a2 100755 --- a/docker/scripts/set-result-status.sh +++ b/docker/scripts/set-result-status.sh @@ -13,11 +13,11 @@ fi if [ $res -eq 0 ]; then echo Send success - $(pwd)/set-status.sh 'success' 'The Bamboo build is a success' ${step} + $(dirname "$0")/set-status.sh 'success' 'The Bamboo build is a success' ${step} elif [ $res -eq 1 ]; then echo Send Failure - $(pwd)/set-status.sh 'failure' 'The Bamboo build failed' ${step} + $(dirname "$0")/set-status.sh 'failure' 'The Bamboo build failed' ${step} else echo Send error - $(pwd)/set-status.sh 'error' 'The Bamboo build is in error' ${step} + $(dirname "$0")/set-status.sh 'error' 'The Bamboo build is in error' ${step} fi From ead4d7bf2d20d1941a3528be529e5cfdb55c2654 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Tue, 2 Feb 2016 11:29:52 +0100 Subject: [PATCH 11/29] Reorganize scripts --- docker/{ => scripts}/bamboo-env-mapping.sh | 0 docker/scripts/db/mysql.sh | 1 + docker/scripts/db/oracle.sh | 1 + docker/scripts/db/postgres.sh | 1 + docker/scripts/db/sqlite.sh | 1 + docker/scripts/{ => jobs/build}/fetch-pr.sh | 0 docker/scripts/{ => jobs/build}/generate-archive.sh | 0 docker/scripts/{ => jobs/build}/prepare-sources.sh | 0 docker/scripts/{ => jobs/common}/cleanup.sh | 0 docker/scripts/{ => jobs/common}/prepare-code.sh | 0 docker/scripts/{ => utils}/get-test-result.sh | 0 docker/scripts/{ => utils}/set-result-status.sh | 0 docker/scripts/{ => utils}/set-status.sh | 0 13 files changed, 4 insertions(+) rename docker/{ => scripts}/bamboo-env-mapping.sh (100%) create mode 100644 docker/scripts/db/mysql.sh create mode 100644 docker/scripts/db/oracle.sh create mode 100644 docker/scripts/db/postgres.sh create mode 100644 docker/scripts/db/sqlite.sh rename docker/scripts/{ => jobs/build}/fetch-pr.sh (100%) rename docker/scripts/{ => jobs/build}/generate-archive.sh (100%) rename docker/scripts/{ => jobs/build}/prepare-sources.sh (100%) rename docker/scripts/{ => jobs/common}/cleanup.sh (100%) rename docker/scripts/{ => jobs/common}/prepare-code.sh (100%) rename docker/scripts/{ => utils}/get-test-result.sh (100%) rename docker/scripts/{ => utils}/set-result-status.sh (100%) rename docker/scripts/{ => utils}/set-status.sh (100%) diff --git a/docker/bamboo-env-mapping.sh b/docker/scripts/bamboo-env-mapping.sh similarity index 100% rename from docker/bamboo-env-mapping.sh rename to docker/scripts/bamboo-env-mapping.sh diff --git a/docker/scripts/db/mysql.sh b/docker/scripts/db/mysql.sh new file mode 100644 index 0000000000..f1f641af19 --- /dev/null +++ b/docker/scripts/db/mysql.sh @@ -0,0 +1 @@ +#!/usr/bin/env bash diff --git a/docker/scripts/db/oracle.sh b/docker/scripts/db/oracle.sh new file mode 100644 index 0000000000..f1f641af19 --- /dev/null +++ b/docker/scripts/db/oracle.sh @@ -0,0 +1 @@ +#!/usr/bin/env bash diff --git a/docker/scripts/db/postgres.sh b/docker/scripts/db/postgres.sh new file mode 100644 index 0000000000..f1f641af19 --- /dev/null +++ b/docker/scripts/db/postgres.sh @@ -0,0 +1 @@ +#!/usr/bin/env bash diff --git a/docker/scripts/db/sqlite.sh b/docker/scripts/db/sqlite.sh new file mode 100644 index 0000000000..f1f641af19 --- /dev/null +++ b/docker/scripts/db/sqlite.sh @@ -0,0 +1 @@ +#!/usr/bin/env bash diff --git a/docker/scripts/fetch-pr.sh b/docker/scripts/jobs/build/fetch-pr.sh similarity index 100% rename from docker/scripts/fetch-pr.sh rename to docker/scripts/jobs/build/fetch-pr.sh diff --git a/docker/scripts/generate-archive.sh b/docker/scripts/jobs/build/generate-archive.sh similarity index 100% rename from docker/scripts/generate-archive.sh rename to docker/scripts/jobs/build/generate-archive.sh diff --git a/docker/scripts/prepare-sources.sh b/docker/scripts/jobs/build/prepare-sources.sh similarity index 100% rename from docker/scripts/prepare-sources.sh rename to docker/scripts/jobs/build/prepare-sources.sh diff --git a/docker/scripts/cleanup.sh b/docker/scripts/jobs/common/cleanup.sh similarity index 100% rename from docker/scripts/cleanup.sh rename to docker/scripts/jobs/common/cleanup.sh diff --git a/docker/scripts/prepare-code.sh b/docker/scripts/jobs/common/prepare-code.sh similarity index 100% rename from docker/scripts/prepare-code.sh rename to docker/scripts/jobs/common/prepare-code.sh diff --git a/docker/scripts/get-test-result.sh b/docker/scripts/utils/get-test-result.sh similarity index 100% rename from docker/scripts/get-test-result.sh rename to docker/scripts/utils/get-test-result.sh diff --git a/docker/scripts/set-result-status.sh b/docker/scripts/utils/set-result-status.sh similarity index 100% rename from docker/scripts/set-result-status.sh rename to docker/scripts/utils/set-result-status.sh diff --git a/docker/scripts/set-status.sh b/docker/scripts/utils/set-status.sh similarity index 100% rename from docker/scripts/set-status.sh rename to docker/scripts/utils/set-status.sh From c5ee6efb2be40a73edec603fa2bc1812aecd3032 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Tue, 2 Feb 2016 11:42:12 +0100 Subject: [PATCH 12/29] Echo set_status --- docker/scripts/db/mysql.sh | 31 ++++++++++++++++++++++++++++++ docker/scripts/jobs/unit-tests.sh | 24 +++++++++++++++++++++++ docker/scripts/utils/set-status.sh | 3 ++- 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 docker/scripts/jobs/unit-tests.sh diff --git a/docker/scripts/db/mysql.sh b/docker/scripts/db/mysql.sh index f1f641af19..70b0eacf18 100644 --- a/docker/scripts/db/mysql.sh +++ b/docker/scripts/db/mysql.sh @@ -1 +1,32 @@ #!/usr/bin/env bash + +export PHPBB_TEST_DBMS='phpbb\db\driver\mysqli' +export PHPBB_TEST_DBHOST='mysql' +export PHPBB_TEST_DBPORT='3306' +export PHPBB_TEST_DBNAME='phpbb_tests' +export PHPBB_TEST_DBUSER='root' +export PHPBB_TEST_DBPASSWD='' +export PHPBB_TEST_TABLE_PREFIX='phpbb_' +export DOCKER_LINK='--link mysql:mysql' + +function start { + cat < /tmp/phpbb.cnf +[mysqld] +default-storage-engine=MyISAM +default-tmp-storage-engine=MyISAM +tmpdir=/dev/shm/ +datadir=/dev/shm/ +EOL + + docker run \ + -d \ + --volume /tmp/phpbb.cnf:/etc/mysql/conf.d/phpbb.cnf \ + --name mysql \ + --shm-size=128M \ + --env MYSQL_ROOT_PASSWORD='' \ + --env MYSQL_DATABASE='phpbb_tests' \ + --env MYSQL_ALLOW_EMPTY_PASSWORD='yes' \ + mysql + + docker run --rm --link mysql_test:mysql waisbrot/wait +} diff --git a/docker/scripts/jobs/unit-tests.sh b/docker/scripts/jobs/unit-tests.sh new file mode 100644 index 0000000000..a261ec6088 --- /dev/null +++ b/docker/scripts/jobs/unit-tests.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +pwd=$(dirname "$0") + +db=$1 +php=$2 + +. ${pwd}/../db/${db}.sh + +start_db + +docker run \ + --user $(id -u):$(id -g) \ + --link mysql:mysql \ + --env PHPBB_TEST_DBMS="phpbb\db\driver\mysqli" \ + --env PHPBB_TEST_DBHOST="mysql" \ + --env PHPBB_TEST_DBPORT="3306" \ + --env PHPBB_TEST_DBNAME="phpbb_tests" \ + --env PHPBB_TEST_DBUSER="root" \ + --env PHPBB_TEST_DBPASSWD="" \ + --env PHPBB_TEST_TABLE_PREFIX="phpbb_" \ + --volume ${bamboo.working.directory}:/data \ + --workdir /data \ + phpbb/php-ut-5.6-mysql php -d memory_limit=-1 phpBB/vendor/bin/phpunit --group __nogroup__ --log-junit build/logs/phpunit.xml diff --git a/docker/scripts/utils/set-status.sh b/docker/scripts/utils/set-status.sh index 1870636392..28fe79be98 100755 --- a/docker/scripts/utils/set-status.sh +++ b/docker/scripts/utils/set-status.sh @@ -6,4 +6,5 @@ status=$1 description=$2 step=$3 -curl -H "Authorization: token ${GITHUB_TOKEN}" --request POST --data "{\"state\": \"${status}\", \"description\": \"${description}\", \"target_url\": \"${BUILD_RESULT_URL}\", \"context\": \"phpBB continuous integration - ${step}\"}" https://api.github.com/repos/phpbb/phpbb/statuses/${last_commit} > /dev/null +echo curl -H "Authorization: token ${GITHUB_TOKEN}" --request POST --data "{\"state\": \"${status}\", \"description\": \"${description}\", \"target_url\": \"${BUILD_RESULT_URL}\", \"context\": \"phpBB continuous integration - ${step}\"}" https://api.github.com/repos/phpbb/phpbb/statuses/${last_commit} +curl -H "Authorization: token ${GITHUB_TOKEN}" --request POST --data "{\"state\": \"${status}\", \"description\": \"${description}\", \"target_url\": \"${BUILD_RESULT_URL}\", \"context\": \"phpBB continuous integration - ${step}\"}" https://api.github.com/repos/phpbb/phpbb/statuses/${last_commit} From 2248d591814911a9481f33a8c4bd3139d4f3d31f Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Tue, 2 Feb 2016 11:46:33 +0100 Subject: [PATCH 13/29] Echo set_status --- docker/scripts/utils/set-status.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/scripts/utils/set-status.sh b/docker/scripts/utils/set-status.sh index 28fe79be98..625b24999b 100755 --- a/docker/scripts/utils/set-status.sh +++ b/docker/scripts/utils/set-status.sh @@ -6,5 +6,7 @@ status=$1 description=$2 step=$3 +echo '---------------------' echo curl -H "Authorization: token ${GITHUB_TOKEN}" --request POST --data "{\"state\": \"${status}\", \"description\": \"${description}\", \"target_url\": \"${BUILD_RESULT_URL}\", \"context\": \"phpBB continuous integration - ${step}\"}" https://api.github.com/repos/phpbb/phpbb/statuses/${last_commit} +echo '---------------------' curl -H "Authorization: token ${GITHUB_TOKEN}" --request POST --data "{\"state\": \"${status}\", \"description\": \"${description}\", \"target_url\": \"${BUILD_RESULT_URL}\", \"context\": \"phpBB continuous integration - ${step}\"}" https://api.github.com/repos/phpbb/phpbb/statuses/${last_commit} From 10b7a94fe8b67013eefc1ad3f53f0613e8993fad Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Tue, 2 Feb 2016 12:04:48 +0100 Subject: [PATCH 14/29] Echo set_status --- docker/scripts/utils/set-status.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/scripts/utils/set-status.sh b/docker/scripts/utils/set-status.sh index 625b24999b..2523766228 100755 --- a/docker/scripts/utils/set-status.sh +++ b/docker/scripts/utils/set-status.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -last_commit=$(cat build/logs/last_commit) +last_commit=$(cat build/logs/last_commit) status=$1 description=$2 From 8746bab4af607b8224ed3149bb4b0a3681aa5fdb Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Tue, 2 Feb 2016 12:39:01 +0100 Subject: [PATCH 15/29] Echo set_status --- docker/scripts/utils/set-status.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/scripts/utils/set-status.sh b/docker/scripts/utils/set-status.sh index 2523766228..625b24999b 100755 --- a/docker/scripts/utils/set-status.sh +++ b/docker/scripts/utils/set-status.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -last_commit=$(cat build/logs/last_commit) +last_commit=$(cat build/logs/last_commit) status=$1 description=$2 From 8fa531b3c340f7e98d56b2d0cb64eef20cde285b Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Tue, 2 Feb 2016 12:48:23 +0100 Subject: [PATCH 16/29] Echo set_status --- docker/scripts/jobs/unit-tests.sh | 20 ++++++++++---------- docker/scripts/utils/set-status.sh | 2 ++ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/docker/scripts/jobs/unit-tests.sh b/docker/scripts/jobs/unit-tests.sh index a261ec6088..728de53143 100644 --- a/docker/scripts/jobs/unit-tests.sh +++ b/docker/scripts/jobs/unit-tests.sh @@ -11,14 +11,14 @@ start_db docker run \ --user $(id -u):$(id -g) \ - --link mysql:mysql \ - --env PHPBB_TEST_DBMS="phpbb\db\driver\mysqli" \ - --env PHPBB_TEST_DBHOST="mysql" \ - --env PHPBB_TEST_DBPORT="3306" \ - --env PHPBB_TEST_DBNAME="phpbb_tests" \ - --env PHPBB_TEST_DBUSER="root" \ - --env PHPBB_TEST_DBPASSWD="" \ - --env PHPBB_TEST_TABLE_PREFIX="phpbb_" \ - --volume ${bamboo.working.directory}:/data \ + ${DOCKER_LINK} \ + --env PHPBB_TEST_DBMS="${PHPBB_TEST_DBMS}" \ + --env PHPBB_TEST_DBHOST="${PHPBB_TEST_DBHOST}" \ + --env PHPBB_TEST_DBPORT="${PHPBB_TEST_DBPORT}" \ + --env PHPBB_TEST_DBNAME="${PHPBB_TEST_DBNAME}" \ + --env PHPBB_TEST_DBUSER="${PHPBB_TEST_DBUSER}" \ + --env PHPBB_TEST_DBPASSWD="${PHPBB_TEST_DBPASSWD}" \ + --env PHPBB_TEST_TABLE_PREFIX="${PHPBB_TEST_TABLE_PREFIX}" \ + --volume ${WORKING_DIR}:/data \ --workdir /data \ - phpbb/php-ut-5.6-mysql php -d memory_limit=-1 phpBB/vendor/bin/phpunit --group __nogroup__ --log-junit build/logs/phpunit.xml + phpbb/php-ut-${php}-${db} php -d memory_limit=-1 phpBB/vendor/bin/phpunit --group __nogroup__ --log-junit build/logs/phpunit.xml diff --git a/docker/scripts/utils/set-status.sh b/docker/scripts/utils/set-status.sh index 625b24999b..94c3394bd8 100755 --- a/docker/scripts/utils/set-status.sh +++ b/docker/scripts/utils/set-status.sh @@ -6,6 +6,8 @@ status=$1 description=$2 step=$3 +env + echo '---------------------' echo curl -H "Authorization: token ${GITHUB_TOKEN}" --request POST --data "{\"state\": \"${status}\", \"description\": \"${description}\", \"target_url\": \"${BUILD_RESULT_URL}\", \"context\": \"phpBB continuous integration - ${step}\"}" https://api.github.com/repos/phpbb/phpbb/statuses/${last_commit} echo '---------------------' From aeb6fb57423d629e34e5cb71433a4628f1eaecd2 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Tue, 2 Feb 2016 12:58:28 +0100 Subject: [PATCH 17/29] Github token --- docker/scripts/bamboo-env-mapping.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/docker/scripts/bamboo-env-mapping.sh b/docker/scripts/bamboo-env-mapping.sh index 64844cbf75..0105a3935b 100644 --- a/docker/scripts/bamboo-env-mapping.sh +++ b/docker/scripts/bamboo-env-mapping.sh @@ -5,5 +5,4 @@ export IMAGES_TAG=${bamboo_images_tag} export WORKING_DIR=${bamboo_working_directory} export PR_NUMBER=${bamboo_PRnumber} export COMPOSER_HOME=${bamboo_composer_home} -export GITHUB_TOKEN=${bamboo_github_token_password} export BUILD_RESULT_URL=${bamboo_buildResultsUrl} From e131ddda97daab662fbf4eedeb3781e44a13ddf6 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 3 Feb 2016 00:16:20 +0100 Subject: [PATCH 18/29] Fix unit-tests perms --- docker/scripts/jobs/unit-tests.sh | 0 docker/scripts/utils/{get-test-result.sh => get-tests-result.sh} | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 docker/scripts/jobs/unit-tests.sh rename docker/scripts/utils/{get-test-result.sh => get-tests-result.sh} (100%) diff --git a/docker/scripts/jobs/unit-tests.sh b/docker/scripts/jobs/unit-tests.sh old mode 100644 new mode 100755 diff --git a/docker/scripts/utils/get-test-result.sh b/docker/scripts/utils/get-tests-result.sh similarity index 100% rename from docker/scripts/utils/get-test-result.sh rename to docker/scripts/utils/get-tests-result.sh From 4b3da8a106abdbb4555ba8ffefbb3a53965e316e Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 3 Feb 2016 00:33:00 +0100 Subject: [PATCH 19/29] Fix mysql recipe --- docker/scripts/db/mysql.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/scripts/db/mysql.sh b/docker/scripts/db/mysql.sh index 70b0eacf18..6a72526989 100644 --- a/docker/scripts/db/mysql.sh +++ b/docker/scripts/db/mysql.sh @@ -9,7 +9,7 @@ export PHPBB_TEST_DBPASSWD='' export PHPBB_TEST_TABLE_PREFIX='phpbb_' export DOCKER_LINK='--link mysql:mysql' -function start { +function start_db { cat < /tmp/phpbb.cnf [mysqld] default-storage-engine=MyISAM From 73c621bb5a50a295e6616d1da119a1ffd35640b2 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 3 Feb 2016 00:39:49 +0100 Subject: [PATCH 20/29] Fix bamboo env mapping --- docker/scripts/bamboo-env-mapping.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/scripts/bamboo-env-mapping.sh b/docker/scripts/bamboo-env-mapping.sh index 0105a3935b..be9599c369 100644 --- a/docker/scripts/bamboo-env-mapping.sh +++ b/docker/scripts/bamboo-env-mapping.sh @@ -4,5 +4,6 @@ export IMAGES_TAG=${bamboo_images_tag} export WORKING_DIR=${bamboo_working_directory} export PR_NUMBER=${bamboo_PRnumber} +export GITHUB_TOKEN=${bamboo_github_token_password} export COMPOSER_HOME=${bamboo_composer_home} export BUILD_RESULT_URL=${bamboo_buildResultsUrl} From e15c4027d483437bdd8c19d8546d2bfdf017b9af Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 3 Feb 2016 00:40:35 +0100 Subject: [PATCH 21/29] Fix mysql recipe --- docker/scripts/db/mysql.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/scripts/db/mysql.sh b/docker/scripts/db/mysql.sh index 6a72526989..24ca7e4107 100644 --- a/docker/scripts/db/mysql.sh +++ b/docker/scripts/db/mysql.sh @@ -28,5 +28,5 @@ EOL --env MYSQL_ALLOW_EMPTY_PASSWORD='yes' \ mysql - docker run --rm --link mysql_test:mysql waisbrot/wait + docker run --rm --link mysql:mysql waisbrot/wait } From 3efbe08ee73a13e515e1e59e1c71a8182b1775f2 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 3 Feb 2016 00:53:09 +0100 Subject: [PATCH 22/29] Echo debug --- docker/scripts/db/mysql.sh | 2 ++ docker/scripts/jobs/unit-tests.sh | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/docker/scripts/db/mysql.sh b/docker/scripts/db/mysql.sh index 24ca7e4107..8fd0390564 100644 --- a/docker/scripts/db/mysql.sh +++ b/docker/scripts/db/mysql.sh @@ -29,4 +29,6 @@ EOL mysql docker run --rm --link mysql:mysql waisbrot/wait + + echo 'Mysql UP' } diff --git a/docker/scripts/jobs/unit-tests.sh b/docker/scripts/jobs/unit-tests.sh index 728de53143..67dda17bbd 100755 --- a/docker/scripts/jobs/unit-tests.sh +++ b/docker/scripts/jobs/unit-tests.sh @@ -9,6 +9,21 @@ php=$2 start_db +echo docker run \ + --user $(id -u):$(id -g) \ + ${DOCKER_LINK} \ + --env PHPBB_TEST_DBMS="${PHPBB_TEST_DBMS}" \ + --env PHPBB_TEST_DBHOST="${PHPBB_TEST_DBHOST}" \ + --env PHPBB_TEST_DBPORT="${PHPBB_TEST_DBPORT}" \ + --env PHPBB_TEST_DBNAME="${PHPBB_TEST_DBNAME}" \ + --env PHPBB_TEST_DBUSER="${PHPBB_TEST_DBUSER}" \ + --env PHPBB_TEST_DBPASSWD="${PHPBB_TEST_DBPASSWD}" \ + --env PHPBB_TEST_TABLE_PREFIX="${PHPBB_TEST_TABLE_PREFIX}" \ + --volume ${WORKING_DIR}:/data \ + --workdir /data \ + phpbb/php-ut-${php}-${db} php -d memory_limit=-1 phpBB/vendor/bin/phpunit --group __nogroup__ --log-junit build/logs/phpunit.xml + + docker run \ --user $(id -u):$(id -g) \ ${DOCKER_LINK} \ From 9411b6fe280198174280b5bb6d6ad607e78ad408 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 3 Feb 2016 01:34:25 +0100 Subject: [PATCH 23/29] Increase MySQL disk space --- docker/scripts/db/mysql.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/scripts/db/mysql.sh b/docker/scripts/db/mysql.sh index 8fd0390564..4e0d2d335a 100644 --- a/docker/scripts/db/mysql.sh +++ b/docker/scripts/db/mysql.sh @@ -22,7 +22,7 @@ EOL -d \ --volume /tmp/phpbb.cnf:/etc/mysql/conf.d/phpbb.cnf \ --name mysql \ - --shm-size=128M \ + --shm-size=256M \ --env MYSQL_ROOT_PASSWORD='' \ --env MYSQL_DATABASE='phpbb_tests' \ --env MYSQL_ALLOW_EMPTY_PASSWORD='yes' \ From d4144535275d1e1bee22c51f3df7d1c41cdb6969 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 3 Feb 2016 09:05:24 +0100 Subject: [PATCH 24/29] Fix reporting --- docker/scripts/db/mysql.sh | 2 -- docker/scripts/jobs/unit-tests.sh | 15 --------------- docker/scripts/utils/set-result-status.sh | 6 +++--- 3 files changed, 3 insertions(+), 20 deletions(-) diff --git a/docker/scripts/db/mysql.sh b/docker/scripts/db/mysql.sh index 4e0d2d335a..fb0a26a849 100644 --- a/docker/scripts/db/mysql.sh +++ b/docker/scripts/db/mysql.sh @@ -29,6 +29,4 @@ EOL mysql docker run --rm --link mysql:mysql waisbrot/wait - - echo 'Mysql UP' } diff --git a/docker/scripts/jobs/unit-tests.sh b/docker/scripts/jobs/unit-tests.sh index 67dda17bbd..728de53143 100755 --- a/docker/scripts/jobs/unit-tests.sh +++ b/docker/scripts/jobs/unit-tests.sh @@ -9,21 +9,6 @@ php=$2 start_db -echo docker run \ - --user $(id -u):$(id -g) \ - ${DOCKER_LINK} \ - --env PHPBB_TEST_DBMS="${PHPBB_TEST_DBMS}" \ - --env PHPBB_TEST_DBHOST="${PHPBB_TEST_DBHOST}" \ - --env PHPBB_TEST_DBPORT="${PHPBB_TEST_DBPORT}" \ - --env PHPBB_TEST_DBNAME="${PHPBB_TEST_DBNAME}" \ - --env PHPBB_TEST_DBUSER="${PHPBB_TEST_DBUSER}" \ - --env PHPBB_TEST_DBPASSWD="${PHPBB_TEST_DBPASSWD}" \ - --env PHPBB_TEST_TABLE_PREFIX="${PHPBB_TEST_TABLE_PREFIX}" \ - --volume ${WORKING_DIR}:/data \ - --workdir /data \ - phpbb/php-ut-${php}-${db} php -d memory_limit=-1 phpBB/vendor/bin/phpunit --group __nogroup__ --log-junit build/logs/phpunit.xml - - docker run \ --user $(id -u):$(id -g) \ ${DOCKER_LINK} \ diff --git a/docker/scripts/utils/set-result-status.sh b/docker/scripts/utils/set-result-status.sh index 7c685fa6a2..37af03cf94 100755 --- a/docker/scripts/utils/set-result-status.sh +++ b/docker/scripts/utils/set-result-status.sh @@ -13,11 +13,11 @@ fi if [ $res -eq 0 ]; then echo Send success - $(dirname "$0")/set-status.sh 'success' 'The Bamboo build is a success' ${step} + $(dirname "$0")/set-status.sh 'success' 'The Bamboo build is a success' "${step}" elif [ $res -eq 1 ]; then echo Send Failure - $(dirname "$0")/set-status.sh 'failure' 'The Bamboo build failed' ${step} + $(dirname "$0")/set-status.sh 'failure' 'The Bamboo build failed' "${step}" else echo Send error - $(dirname "$0")/set-status.sh 'error' 'The Bamboo build is in error' ${step} + $(dirname "$0")/set-status.sh 'error' 'The Bamboo build is in error' "${step}" fi From c4a4f35a3abff53ec0820bd5f631661823a80cec Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 3 Feb 2016 21:21:47 +0100 Subject: [PATCH 25/29] Func tests --- docker/scripts/jobs/functional-tests.sh | 27 +++++++++++++++++++++++++ docker/scripts/jobs/unit-tests.sh | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100755 docker/scripts/jobs/functional-tests.sh diff --git a/docker/scripts/jobs/functional-tests.sh b/docker/scripts/jobs/functional-tests.sh new file mode 100755 index 0000000000..de80e68576 --- /dev/null +++ b/docker/scripts/jobs/functional-tests.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +pwd=$(dirname "$0") + +db=$1 +php=$2 + +. ${pwd}/../db/${db}.sh + +start_db + +docker run \ + --env TEST_UID=$(id -u) \ + --env TEST_GID=$(id -g) \ + ${DOCKER_LINK} \ + --env PHPBB_TEST_DBMS="${PHPBB_TEST_DBMS}" \ + --env PHPBB_TEST_DBHOST="${PHPBB_TEST_DBHOST}" \ + --env PHPBB_TEST_DBPORT="${PHPBB_TEST_DBPORT}" \ + --env PHPBB_TEST_DBNAME="${PHPBB_TEST_DBNAME}" \ + --env PHPBB_TEST_DBUSER="${PHPBB_TEST_DBUSER}" \ + --env PHPBB_TEST_DBPASSWD="${PHPBB_TEST_DBPASSWD}" \ + --env PHPBB_TEST_TABLE_PREFIX="${PHPBB_TEST_TABLE_PREFIX}" \ + --env PHPBB_FUNCTIONAL_URL="http://localhost/" \ + --volume ${WORKING_DIR}:/data \ + --workdir /data \ + + phpbb/php-ft-${php}-${db}${IMAGES_TAG} php -d memory_limit=-1 phpBB/vendor/bin/phpunit --group functional --log-junit build/logs/phpunit.xml diff --git a/docker/scripts/jobs/unit-tests.sh b/docker/scripts/jobs/unit-tests.sh index 728de53143..ff65a0344d 100755 --- a/docker/scripts/jobs/unit-tests.sh +++ b/docker/scripts/jobs/unit-tests.sh @@ -21,4 +21,4 @@ docker run \ --env PHPBB_TEST_TABLE_PREFIX="${PHPBB_TEST_TABLE_PREFIX}" \ --volume ${WORKING_DIR}:/data \ --workdir /data \ - phpbb/php-ut-${php}-${db} php -d memory_limit=-1 phpBB/vendor/bin/phpunit --group __nogroup__ --log-junit build/logs/phpunit.xml + phpbb/php-ut-${php}-${db}${IMAGES_TAG} php -d memory_limit=-1 phpBB/vendor/bin/phpunit --group __nogroup__ --log-junit build/logs/phpunit.xml From e486ed07706fcc2304bb114572e30c1d31e1bc3d Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Fri, 5 Feb 2016 16:33:23 +0100 Subject: [PATCH 26/29] func tets --- docker/scripts/jobs/functional-tests.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/docker/scripts/jobs/functional-tests.sh b/docker/scripts/jobs/functional-tests.sh index de80e68576..b5986455e3 100755 --- a/docker/scripts/jobs/functional-tests.sh +++ b/docker/scripts/jobs/functional-tests.sh @@ -23,5 +23,4 @@ docker run \ --env PHPBB_FUNCTIONAL_URL="http://localhost/" \ --volume ${WORKING_DIR}:/data \ --workdir /data \ - phpbb/php-ft-${php}-${db}${IMAGES_TAG} php -d memory_limit=-1 phpBB/vendor/bin/phpunit --group functional --log-junit build/logs/phpunit.xml From f8b9a4f4b64fb311399073d988993d98cd82e601 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Fri, 5 Feb 2016 16:50:01 +0100 Subject: [PATCH 27/29] echo debug --- docker/scripts/jobs/build/prepare-sources.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docker/scripts/jobs/build/prepare-sources.sh b/docker/scripts/jobs/build/prepare-sources.sh index a642449799..6019bf84cd 100755 --- a/docker/scripts/jobs/build/prepare-sources.sh +++ b/docker/scripts/jobs/build/prepare-sources.sh @@ -1,6 +1,23 @@ #!/usr/bin/env bash # Ensure the github oauth token is set +echo docker run \ + --user $(id -u):$(id -g) \ + --volume ${WORKING_DIR}:/data \ + --volume ${COMPOSER_HOME}:/composer/ \ + --workdir /data \ + phpbb/build${IMAGES_TAG} sh -c "COMPOSER_HOME=/composer php composer.phar config -g github-oauth.github.com ${GITHUB_TOKEN}" + +echo docker run \ + --user $(id -u):$(id -g) \ + --volume ${WORKING_DIR}:/data \ + --volume ${COMPOSER_HOME}:/composer/ \ + --workdir /data \ + phpbb/build${IMAGES_TAG} sh -c ' + git config user.email "no-reply@phpbb.com" && + git config user.name "phpBB CI" && + cd phpBB && + COMPOSER_HOME=/composer php ../composer.phar install --dev' docker run \ --user $(id -u):$(id -g) \ --volume ${WORKING_DIR}:/data \ From 03988d8155a37d245df810dab7aa3ce737479f78 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Fri, 5 Feb 2016 16:54:22 +0100 Subject: [PATCH 28/29] echo debug --- docker/scripts/jobs/build/prepare-sources.sh | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/docker/scripts/jobs/build/prepare-sources.sh b/docker/scripts/jobs/build/prepare-sources.sh index 6019bf84cd..a642449799 100755 --- a/docker/scripts/jobs/build/prepare-sources.sh +++ b/docker/scripts/jobs/build/prepare-sources.sh @@ -1,23 +1,6 @@ #!/usr/bin/env bash # Ensure the github oauth token is set -echo docker run \ - --user $(id -u):$(id -g) \ - --volume ${WORKING_DIR}:/data \ - --volume ${COMPOSER_HOME}:/composer/ \ - --workdir /data \ - phpbb/build${IMAGES_TAG} sh -c "COMPOSER_HOME=/composer php composer.phar config -g github-oauth.github.com ${GITHUB_TOKEN}" - -echo docker run \ - --user $(id -u):$(id -g) \ - --volume ${WORKING_DIR}:/data \ - --volume ${COMPOSER_HOME}:/composer/ \ - --workdir /data \ - phpbb/build${IMAGES_TAG} sh -c ' - git config user.email "no-reply@phpbb.com" && - git config user.name "phpBB CI" && - cd phpBB && - COMPOSER_HOME=/composer php ../composer.phar install --dev' docker run \ --user $(id -u):$(id -g) \ --volume ${WORKING_DIR}:/data \ From b95e246b76e21db7a83516362328b842b11a45f7 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Sun, 7 Feb 2016 12:22:13 +0100 Subject: [PATCH 29/29] Add Oracle --- docker/scripts/db/oracle.sh | 14 ++++++++++++++ docker/scripts/db/postgres.sh | 23 +++++++++++++++++++++++ docker/scripts/db/sqlite.sh | 13 +++++++++++++ docker/scripts/local-env-mapping.sh | 9 +++++++++ 4 files changed, 59 insertions(+) create mode 100644 docker/scripts/local-env-mapping.sh diff --git a/docker/scripts/db/oracle.sh b/docker/scripts/db/oracle.sh index f1f641af19..f2c3f452f5 100644 --- a/docker/scripts/db/oracle.sh +++ b/docker/scripts/db/oracle.sh @@ -1 +1,15 @@ #!/usr/bin/env bash + +export PHPBB_TEST_DBMS='phpbb\db\driver\oracle' +export PHPBB_TEST_DBHOST='oracle' +export PHPBB_TEST_DBPORT='1521' +export PHPBB_TEST_DBNAME='xe' +export PHPBB_TEST_DBUSER='system' +export PHPBB_TEST_DBPASSWD='oracle' +export PHPBB_TEST_TABLE_PREFIX='phpbb_' +export DOCKER_LINK='--link oracle:oracle' + +function start_db { + docker run -d --name oracle wnameless/oracle-xe-11g + docker run --rm --link oracle:oracle -e TARGETS=oracle:1521 waisbrot/wait +} diff --git a/docker/scripts/db/postgres.sh b/docker/scripts/db/postgres.sh index f1f641af19..af034c072e 100644 --- a/docker/scripts/db/postgres.sh +++ b/docker/scripts/db/postgres.sh @@ -1 +1,24 @@ #!/usr/bin/env bash + +export PHPBB_TEST_DBMS='phpbb\db\driver\postgres' +export PHPBB_TEST_DBHOST='postgres' +export PHPBB_TEST_DBPORT='5432' +export PHPBB_TEST_DBNAME='phpbb_tests' +export PHPBB_TEST_DBUSER='postgres' +export PHPBB_TEST_DBPASSWD='' +export PHPBB_TEST_TABLE_PREFIX='phpbb_' +export DOCKER_LINK='--link postgres:postgres' + +function start_db { + docker run \ + -d \ + --name postgres \ + --env POSTGRES_PASSWORD='' \ + --env POSTGRES_USER='postgres' \ + postgres + + docker run --rm --link postgres:postgres waisbrot/wait + sleep 1 + + docker run --link postgres:postgres --rm postgres sh -c 'exec psql -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U postgres -c "create database phpbb_tests;"' +} diff --git a/docker/scripts/db/sqlite.sh b/docker/scripts/db/sqlite.sh index f1f641af19..698d2c6173 100644 --- a/docker/scripts/db/sqlite.sh +++ b/docker/scripts/db/sqlite.sh @@ -1 +1,14 @@ #!/usr/bin/env bash + +export PHPBB_TEST_DBMS='phpbb\db\driver\sqlite3' +export PHPBB_TEST_DBHOST='/dev/shm/phpbb_unit_tests.sqlite3' +export PHPBB_TEST_DBPORT='' +export PHPBB_TEST_DBNAME='' +export PHPBB_TEST_DBUSER='' +export PHPBB_TEST_DBPASSWD='' +export PHPBB_TEST_TABLE_PREFIX='phpbb_' +export DOCKER_LINK='' + +function start_db { + true +} diff --git a/docker/scripts/local-env-mapping.sh b/docker/scripts/local-env-mapping.sh new file mode 100644 index 0000000000..7c9339a8e4 --- /dev/null +++ b/docker/scripts/local-env-mapping.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +export IMAGES_TAG=':latest' + +export WORKING_DIR="$(git rev-parse --show-toplevel)" +export PR_NUMBER='' +export GITHUB_TOKEN="$(cd "$WORKING_DIR"/phpBB;php ../composer.phar config github-oauth.github.com)" +export COMPOSER_HOME="$(cd "$WORKING_DIR"/phpBB;php ../composer.phar config home)" +export BUILD_RESULT_URL=''