1# Copyright 2020 gRPC authors. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15FROM php:8.0.0-zts-buster 16 17RUN apt-get -qq update && apt-get -qq install -y \ 18 autoconf automake git libtool pkg-config \ 19 valgrind wget zlib1g-dev 20 21ARG MAKEFLAGS=-j8 22 23 24WORKDIR /tmp 25 26# install pear 27RUN apt-get install expect -y && \ 28 curl -LO http://pear.php.net/go-pear.phar && \ 29 expect -c 'spawn php ./go-pear.phar; expect "or Enter to continue:"; send "\n"; expect "Currently used php.ini"; send "\n"; expect eof' && \ 30 rm go-pear.phar 31 32RUN wget https://phar.phpunit.de/phpunit-8.5.13.phar && \ 33 mv phpunit-8.5.13.phar /usr/local/bin/phpunit && \ 34 chmod +x /usr/local/bin/phpunit 35 36 37WORKDIR /github/grpc 38 39COPY . . 40 41RUN pear package && \ 42 find . -name grpc-*.tgz | xargs -I{} pecl install {} 43 44 45CMD ["/github/grpc/src/php/bin/run_tests.sh", "--skip-persistent-channel-tests", "--ignore-valgrind-undef-errors"] 46