Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor php fixes #37

Closed
wants to merge 18 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ php:

arch:
- amd64
- ppc64le
- arm64

services:
Expand All @@ -15,14 +14,17 @@ notifications:
email:
- [email protected]

before_script:
before_script:
- >
if [ ! -z "${DOCKERHUB_PULL_USERNAME:-}" ]; then
echo "${DOCKERHUB_PULL_PASSWORD}" | docker login --username "${DOCKERHUB_PULL_USERNAME}" --password-stdin
fi
- docker --version
- composer install --ignore-platform-reqs
- runtimes/buildLocalOnly.sh
- mkdir /tmp/builtCode

script:
- docker-compose up
- vendor/bin/psalm --show-info=true
- docker-compose up -d
- docker-compose exec tests vendor/bin/phpunit --debug
- docker-compose exec tests vendor/bin/psalm --show-info=true
18 changes: 4 additions & 14 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,31 +8,21 @@ WORKDIR /usr/local/src/
COPY composer.lock /usr/local/src/
COPY composer.json /usr/local/src/

RUN composer update --ignore-platform-reqs --optimize-autoloader \
--no-plugins --no-scripts --prefer-dist

FROM php:8.0-cli-alpine as final
RUN composer install --ignore-platform-reqs --optimize-autoloader --no-plugins --no-scripts --prefer-dist

FROM php:8.0.14-cli-alpine as final

LABEL maintainer="[email protected]"

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN \
apk update \
&& apk add --no-cache make automake autoconf gcc g++ git brotli-dev \
&& docker-php-ext-install opcache

WORKDIR /usr/src/code

RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"

RUN echo "opcache.enable_cli=1" >> $PHP_INI_DIR/php.ini

RUN echo "memory_limit=1024M" >> $PHP_INI_DIR/php.ini

COPY --from=step0 /usr/local/src/vendor /usr/src/code/vendor

# Add Source Code
COPY . /usr/src/code

CMD [ "/usr/src/code/vendor/bin/phpunit", "--debug" ]
CMD [ "tail", "-f", "/dev/null" ]
4 changes: 2 additions & 2 deletions runtimes/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ docker buildx build --platform linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
echo 'PHP 7.4...'
docker buildx build --platform linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/386,linux/ppc64le -t appwrite/runtime-for-php:7.4 ./runtimes/php-7.4/ --push

echo 'PHP 8...'
docker buildx build --platform linux/amd64,linux/arm64 -t php-runtime:8.0 ./runtimes/php-8.0/ --push
echo 'PHP 8.0...'
docker buildx build --platform linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/386,linux/ppc64le -t php-runtime:8.0 ./runtimes/php-8.0/ --push

echo 'PHP 8.1...'
docker buildx build --platform linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/386,linux/ppc64le -t appwrite/runtime-for-php:8.1 ./runtimes/php-8.1/ --push
Expand Down
47 changes: 25 additions & 22 deletions runtimes/buildLocalOnly.sh
Original file line number Diff line number Diff line change
@@ -1,64 +1,67 @@
echo 'Starting build...'

echo 'Dart 2.12...'
docker build -t dart-runtime:2.12 ./runtimes/dart-2.12
docker build -t dart-runtime:2.12 ./runtimes/dart-2.12 || true

echo 'Dart 2.13...'
docker build -t dart-runtime:2.13 ./runtimes/dart-2.13
docker build -t dart-runtime:2.13 ./runtimes/dart-2.13 || true

echo 'Dart 2.14...'
docker build -t dart-runtime:2.14 ./runtimes/dart-2.14
docker build -t dart-runtime:2.14 ./runtimes/dart-2.14 || true

echo 'Dart 2.15...'
docker build -t dart-runtime:2.15 ./runtimes/dart-2.15
docker build -t dart-runtime:2.15 ./runtimes/dart-2.15 || true

echo 'Deno 1.12...'
docker build -t deno-runtime:1.12 ./runtimes/deno-1.12
docker build -t deno-runtime:1.12 ./runtimes/deno-1.12 || true

echo 'Deno 1.13...'
docker build -t deno-runtime:1.13 ./runtimes/deno-1.13
docker build -t deno-runtime:1.13 ./runtimes/deno-1.13 || true

echo 'Deno 1.14...'
docker build -t deno-runtime:1.14 ./runtimes/deno-1.14
docker build -t deno-runtime:1.14 ./runtimes/deno-1.14 || true

echo 'Node 14.5...'
docker build -t node-runtime:14.5 ./runtimes/node-14.5
docker build -t node-runtime:14.5 ./runtimes/node-14.5 || true

echo 'Node 15.5...'
docker build -t node-runtime:15.5 ./runtimes/node-15.5
docker build -t node-runtime:15.5 ./runtimes/node-15.5 || true

echo 'Node 16...'
docker build -t node-runtime:16.0 ./runtimes/node-16.0
docker build -t node-runtime:16.0 ./runtimes/node-16.0 || true

echo 'Node 17...'
docker build -t node-runtime:17.0 ./runtimes/node-17.0
docker build -t node-runtime:17.0 ./runtimes/node-17.0 || true

echo 'PHP 8...'
docker build -t php-runtime:8.0 ./runtimes/php-8.0
echo 'PHP 8.0...'
docker build -t php-runtime:8.0 ./runtimes/php-8.0 || true

echo 'PHP 8.1...'
docker build -t php-runtime:8.0 ./runtimes/php-8.0 || true

echo 'Python 3.8...'
docker build -t python-runtime:3.8 ./runtimes/python-3.8
docker build -t python-runtime:3.8 ./runtimes/python-3.8 || true

echo 'Python 3.9...'
docker build -t python-runtime:3.9 ./runtimes/python-3.9
docker build -t python-runtime:3.9 ./runtimes/python-3.9 || true

echo 'Python 3.10...'
docker build -t python-runtime:3.10 ./runtimes/python-3.10
docker build -t python-runtime:3.10 ./runtimes/python-3.10 || true

echo 'Rust 1.55'
docker build -t rust-runtime:1.55 ./runtimes/rust-1.55
docker build -t rust-runtime:1.55 ./runtimes/rust-1.55 || true

echo 'Ruby 3.0'
docker build -t ruby-runtime:3.0 ./runtimes/ruby-3.0
docker build -t ruby-runtime:3.0 ./runtimes/ruby-3.0 || true

echo 'Alpine 3.13.6...'
docker build -t appwrite-alpine:3.13.6 ./runtimes/alpine-3.13.6
docker build -t appwrite-alpine:3.13.6 ./runtimes/alpine-3.13.6 || true

echo 'Ubuntu 20.04'
docker build -t appwrite-ubuntu:20.04 ./runtimes/ubuntu-20.04
docker build -t appwrite-ubuntu:20.04 ./runtimes/ubuntu-20.04 || true

echo 'Java 16.0...'
docker build -t java-runtime:16.0 ./runtimes/java-16.0
docker build -t java-runtime:16.0 ./runtimes/java-16.0 || true

echo 'Swift 5.5...'
docker build -t swift-runtime:5.5 ./runtimes/swift-5.5
docker build -t swift-runtime:5.5 ./runtimes/swift-5.5 || true
11 changes: 3 additions & 8 deletions runtimes/php-8.0/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM php:8.0-cli-alpine as step0
FROM php:8.0.14-cli-alpine as step0

ENV PHP_SWOOLE_VERSION=v4.7.0

Expand Down Expand Up @@ -26,7 +26,7 @@ RUN \
make && make install && \
cd ..

FROM php:8.0-cli-alpine as final
FROM php:8.0.14-cli-alpine as final

LABEL maintainer="[email protected]"

Expand All @@ -41,11 +41,6 @@ RUN \
curl-dev \
&& apk add --no-cache \
libstdc++ \
certbot \
brotli-dev \
yaml-dev \
libmaxminddb-dev \
libgomp \
&& docker-php-ext-install opcache \
&& apk del .deps \
&& rm -rf /var/cache/apk/*
Expand All @@ -61,7 +56,7 @@ WORKDIR /usr/local/src/

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

COPY --from=step0 /usr/local/lib/php/extensions/no-debug-non-zts-20200930/swoole.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/yasd.so* /usr/local/lib/php/extensions/no-debug-non-zts-20200930/
COPY --from=step0 /usr/local/lib/php/extensions/no-debug-non-zts-20200930/swoole.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/

COPY composer* /usr/local/src/

Expand Down
16 changes: 4 additions & 12 deletions runtimes/php-8.1/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM php:8.1-cli-alpine as step0
FROM php:8.1.0-cli-alpine as step0

ENV PHP_SWOOLE_VERSION=v4.7.0

Expand All @@ -10,10 +10,7 @@ RUN \
gcc \
g++ \
git \
zlib-dev \
brotli-dev \
yaml-dev \
libmaxminddb-dev
zlib-dev

RUN docker-php-ext-install sockets

Expand All @@ -26,7 +23,7 @@ RUN \
make && make install && \
cd ..

FROM php:8.1-cli-alpine as final
FROM php:8.1.0-cli-alpine as final

LABEL maintainer="[email protected]"

Expand All @@ -41,11 +38,6 @@ RUN \
curl-dev \
&& apk add --no-cache \
libstdc++ \
certbot \
brotli-dev \
yaml-dev \
libmaxminddb-dev \
libgomp \
&& docker-php-ext-install opcache \
&& apk del .deps \
&& rm -rf /var/cache/apk/*
Expand All @@ -61,7 +53,7 @@ WORKDIR /usr/local/src/

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

COPY --from=step0 /usr/local/lib/php/extensions/no-debug-non-zts-20200930/swoole.so /usr/local/lib/php/extensions/no-debug-non-zts-20200930/yasd.so* /usr/local/lib/php/extensions/no-debug-non-zts-20200930/
COPY --from=step0 /usr/local/lib/php/extensions/no-debug-non-zts-20210902/swoole.so /usr/local/lib/php/extensions/no-debug-non-zts-20210902/

COPY composer* /usr/local/src/

Expand Down
Loading