mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-07 20:08:53 +00:00
Merge b95e246b76
into bdbd0be548
This commit is contained in:
commit
169de8432f
17 changed files with 293 additions and 0 deletions
9
docker/scripts/bamboo-env-mapping.sh
Normal file
9
docker/scripts/bamboo-env-mapping.sh
Normal file
|
@ -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 GITHUB_TOKEN=${bamboo_github_token_password}
|
||||||
|
export COMPOSER_HOME=${bamboo_composer_home}
|
||||||
|
export BUILD_RESULT_URL=${bamboo_buildResultsUrl}
|
32
docker/scripts/db/mysql.sh
Normal file
32
docker/scripts/db/mysql.sh
Normal file
|
@ -0,0 +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_db {
|
||||||
|
cat <<EOL > /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=256M \
|
||||||
|
--env MYSQL_ROOT_PASSWORD='' \
|
||||||
|
--env MYSQL_DATABASE='phpbb_tests' \
|
||||||
|
--env MYSQL_ALLOW_EMPTY_PASSWORD='yes' \
|
||||||
|
mysql
|
||||||
|
|
||||||
|
docker run --rm --link mysql:mysql waisbrot/wait
|
||||||
|
}
|
15
docker/scripts/db/oracle.sh
Normal file
15
docker/scripts/db/oracle.sh
Normal file
|
@ -0,0 +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
|
||||||
|
}
|
24
docker/scripts/db/postgres.sh
Normal file
24
docker/scripts/db/postgres.sh
Normal file
|
@ -0,0 +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;"'
|
||||||
|
}
|
14
docker/scripts/db/sqlite.sh
Normal file
14
docker/scripts/db/sqlite.sh
Normal file
|
@ -0,0 +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
|
||||||
|
}
|
12
docker/scripts/jobs/build/fetch-pr.sh
Executable file
12
docker/scripts/jobs/build/fetch-pr.sh
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
docker run \
|
||||||
|
--user $(id -u):$(id -g) \
|
||||||
|
--volume ${WORKING_DIR}:/data \
|
||||||
|
--workdir /data \
|
||||||
|
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'
|
17
docker/scripts/jobs/build/generate-archive.sh
Executable file
17
docker/scripts/jobs/build/generate-archive.sh
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
cat <<EOL > 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
|
26
docker/scripts/jobs/build/prepare-sources.sh
Executable file
26
docker/scripts/jobs/build/prepare-sources.sh
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/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 '
|
||||||
|
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 \
|
||||||
|
--workdir /data \
|
||||||
|
phpbb/build${IMAGES_TAG} sh -c 'cd build; ../phpBB/vendor/bin/phing clean prepare'
|
14
docker/scripts/jobs/common/cleanup.sh
Executable file
14
docker/scripts/jobs/common/cleanup.sh
Executable file
|
@ -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
|
7
docker/scripts/jobs/common/prepare-code.sh
Executable file
7
docker/scripts/jobs/common/prepare-code.sh
Executable file
|
@ -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
|
26
docker/scripts/jobs/functional-tests.sh
Executable file
26
docker/scripts/jobs/functional-tests.sh
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/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
|
11
docker/scripts/jobs/sniffer.sh
Executable file
11
docker/scripts/jobs/sniffer.sh
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
#!/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'
|
24
docker/scripts/jobs/unit-tests.sh
Executable file
24
docker/scripts/jobs/unit-tests.sh
Executable file
|
@ -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) \
|
||||||
|
${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}${IMAGES_TAG} php -d memory_limit=-1 phpBB/vendor/bin/phpunit --group __nogroup__ --log-junit build/logs/phpunit.xml
|
9
docker/scripts/local-env-mapping.sh
Normal file
9
docker/scripts/local-env-mapping.sh
Normal file
|
@ -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=''
|
16
docker/scripts/utils/get-tests-result.sh
Executable file
16
docker/scripts/utils/get-tests-result.sh
Executable file
|
@ -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}
|
23
docker/scripts/utils/set-result-status.sh
Executable file
23
docker/scripts/utils/set-result-status.sh
Executable file
|
@ -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
|
||||||
|
$(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}"
|
||||||
|
else
|
||||||
|
echo Send error
|
||||||
|
$(dirname "$0")/set-status.sh 'error' 'The Bamboo build is in error' "${step}"
|
||||||
|
fi
|
14
docker/scripts/utils/set-status.sh
Executable file
14
docker/scripts/utils/set-status.sh
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
last_commit=$(cat build/logs/last_commit)
|
||||||
|
|
||||||
|
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 '---------------------'
|
||||||
|
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}
|
Loading…
Add table
Reference in a new issue