-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathcompile
executable file
·89 lines (66 loc) · 2.12 KB
/
compile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/usr/bin/env bash
function fetch_pear() {
if [ -n $GITHUB_TOKEN ]; then
auth_flag="-H 'Authorization: token $GITHUB_TOKEN'"
fi
latest_tag=$(curl -sSfL --retry 5 --retry-delay 60 "${auth_flag}" https://api.github.com/repos/pear/pearweb_phars/releases/latest | jq -r .tag_name)
curl -sSfL "${auth_flag}" --retry 2 --retry-delay 60 -O https://raw.githubusercontent.com/pear/pearweb_phars/${latest_tag}/go-pear.phar
if [ ! -f go-pear.phar ]; then
echo "Latest PEAR tarball not found"
exit 1
fi
}
set -o errexit
if [[ ! $VERSION ]] ; then
echo 'Missing $VERSION'
exit 1
fi
if [[ ! $INSTALL_DEST ]] ; then
echo 'Missing $INSTALL_DEST'
exit 1
fi
set -o xtrace
export PATH="$HOME/.phpenv/bin:$HOME/.php-build/bin:$PATH"
php-build -i development "${VERSION}" "${INSTALL_DEST}/${VERSION}"
pushd "${INSTALL_DEST}/${VERSION}"
# pear
fetch_pear
env TZ=UTC $TRAVIS_BUILD_DIR/bin/install-pear
rm go-pear.phar
"$INSTALL_DEST/$VERSION/bin/pear" config-set php_ini "$INSTALL_DEST/$VERSION/etc/php.ini" system
"$INSTALL_DEST/$VERSION/bin/pear" config-set auto_discover 1
# php-fpm
ln -sv $PWD/sbin/php-fpm $PWD/bin/php-fpm
# composer and phpunit
curl -fsSL -o bin/composer http://getcomposer.org/composer.phar
if [[ $VERSION == nightly* || $VERSION == master* || $VERSION == 7* ]]; then
PHPUNIT_ARCHIVE=phpunit.phar
elif [[ $VERSION == 5.6* ]]; then
PHPUNIT_ARCHIVE=phpunit-5.7.phar
else
PHPUNIT_ARCHIVE=phpunit-old.phar
fi
curl -fsSL -o bin/phpunit https://phar.phpunit.de/$PHPUNIT_ARCHIVE
chmod +x bin/composer bin/phpunit
popd
mkdir -p "${INSTALL_DEST}/${VERSION}/etc/conf.d"
cat > "${INSTALL_DEST}/${VERSION}/etc/conf.d/travis.ini" <<EOF
memory_limit = 1G
date.timezone = "UTC"
phar.readonly = 0
mysql.default_socket = /var/run/mysqld/mysqld.sock
mysqli.default_socket = /var/run/mysqld/mysqld.sock
pdo_mysql.default_socket = /var/run/mysqld/mysqld.sock
xdebug.max_nesting_level = 256
EOF
cat >> "${INSTALL_DEST}/${VERSION}/etc/conf.d/pcov.ini" <<EOF
pcov.enabled=0
EOF
if [ $ALIAS ]; then
ln -s ${INSTALL_DEST}/${VERSION} ${INSTALL_DEST}/${ALIAS}
fi
pushd /tmp
phpenv local "${VERSION}"
phpenv rehash
composer self-update
popd