Docker images for testing the Symfony Intl Component
MIT License
Docker images for running tests of the Symfony Intl Component against various ICU/Intl versions. These images are not meant to be used on production systems.
For older PHP or ICU versions check out older Docker image tags.
Images are tagged with a PHP version and an ICU release separated with a dash.
For example, the tag for PHP 8.3
and ICU 74.1
is 8.3-74.1
.
docker run -it --rm \
-v `pwd`:/symfony -w /symfony \
jakzal/php-intl:8.3-74.1 \
./phpunit /symfony/src/Symfony/Component/Intl/Tests/
To list all available tags run the following command (requires jq to be installed):
curl -Ls 'https://registry.hub.docker.com/v2/repositories/jakzal/php-intl/tags?page_size=20' | jq '.results[].name' --raw-output | sort
Build the latest PHP version with the latest ICU release:
make build
Build the latest PHP version with a chosen ICU release:
make build ICU_VERSION=74.1
Build a chosen PHP version with a chosen ICU release:
make build ICU_VERSION=74.1 PHP_VERSION=8.3
It's best to run these tests on a system that natively supports Docker. If you're not a Linux desktop user, you can create a digitalocean droplet with little effort (or use other cloud provider):
docker-machine create --driver digitalocean --digitalocean-access-token $DIGITAL_OCEAN_ACCESS_TOKEN \
--digitalocean-image "ubuntu-19-04-x64" \
--digitalocean-size "4gb" \
--digitalocean-region "lon1" \
symfony-intl
eval "$(docker-machine env symfony-intl)"
docker run --rm -it jakzal/php-intl:8.3-74.1 bash
Clone the Symfony repository and switch to the branch you want to test:
git clone https://github.com/jakzal/symfony.git \
&& cd symfony \
&& git checkout icu-74.1 \
&& composer install
Run all intl-data
tests:
./phpunit --group intl-data
Destroy the droplet when you're done:
docker-machine rm symfony-intl