mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-07 20:08:53 +00:00
Compare commits
34 commits
6bf194b1c2
...
169de8432f
Author | SHA1 | Date | |
---|---|---|---|
|
169de8432f | ||
|
bdbd0be548 | ||
|
1b2ac50cfd | ||
|
779bec5fcf | ||
|
f512af1823 | ||
|
b95e246b76 | ||
|
03988d8155 | ||
|
f8b9a4f4b6 | ||
|
e486ed0770 | ||
|
c4a4f35a3a | ||
|
d414453527 | ||
|
9411b6fe28 | ||
|
3efbe08ee7 | ||
|
e15c4027d4 | ||
|
73c621bb5a | ||
|
4b3da8a106 | ||
|
e131ddda97 | ||
|
aeb6fb5742 | ||
|
8fa531b3c3 | ||
|
8746bab4af | ||
|
10b7a94fe8 | ||
|
2248d59181 | ||
|
c5ee6efb2b | ||
|
ead4d7bf2d | ||
|
8947a6f9f6 | ||
|
cd1f4279f3 | ||
|
3d29fe29c4 | ||
|
d37f9f288e | ||
|
0f2caeff07 | ||
|
abae70079b | ||
|
793a7923c2 | ||
|
6145949c5a | ||
|
e3aed4f17c | ||
|
e82bbbba14 |
22 changed files with 309 additions and 4 deletions
1
.github/setup-exiftool.sh
vendored
1
.github/setup-exiftool.sh
vendored
|
@ -10,5 +10,4 @@
|
|||
#
|
||||
set -e
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y parallel libimage-exiftool-perl
|
||||
|
|
1
.github/setup-sphinx.sh
vendored
1
.github/setup-sphinx.sh
vendored
|
@ -11,7 +11,6 @@
|
|||
set -e
|
||||
set -x
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get install -q -y sphinxsearch
|
||||
|
||||
DIR=$(dirname "$0")
|
||||
|
|
1
.github/setup-unbuffer.sh
vendored
1
.github/setup-unbuffer.sh
vendored
|
@ -10,5 +10,4 @@
|
|||
#
|
||||
set -e
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y expect-dev
|
||||
|
|
1
.github/setup-webserver.sh
vendored
1
.github/setup-webserver.sh
vendored
|
@ -11,7 +11,6 @@
|
|||
set -e
|
||||
set -x
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y nginx coreutils
|
||||
|
||||
sudo service nginx stop
|
||||
|
|
16
.github/workflows/tests.yml
vendored
16
.github/workflows/tests.yml
vendored
|
@ -28,6 +28,10 @@ jobs:
|
|||
name: PHP ${{ matrix.php }} - ${{ matrix.db }}
|
||||
|
||||
steps:
|
||||
- name: Update Ubuntu package lists
|
||||
run: |
|
||||
sudo apt-get update -y --allow-releaseinfo-change
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
|
@ -169,6 +173,10 @@ jobs:
|
|||
- 6379:6379
|
||||
|
||||
steps:
|
||||
- name: Update Ubuntu package lists
|
||||
run: |
|
||||
sudo apt-get update -y --allow-releaseinfo-change
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
|
@ -308,6 +316,10 @@ jobs:
|
|||
- 6379:6379
|
||||
|
||||
steps:
|
||||
- name: Update Ubuntu package lists
|
||||
run: |
|
||||
sudo apt-get update -y --allow-releaseinfo-change
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
|
@ -412,6 +424,10 @@ jobs:
|
|||
|
||||
|
||||
steps:
|
||||
- name: Update Ubuntu package lists
|
||||
run: |
|
||||
sudo apt-get update -y --allow-releaseinfo-change
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
|
|
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