Skip to content

Commit 5302075

Browse files
feat(php 8.1): Add test for PHP 8.1
1 parent 0e5529b commit 5302075

File tree

8 files changed

+256
-210
lines changed

8 files changed

+256
-210
lines changed

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111

1212
strategy:
1313
matrix:
14-
php: ['7.2', '7.3', '7.4', '8.0']
14+
php: ['7.2', '7.3', '7.4', '8.0', '8.1']
1515

1616
services:
1717
redis:

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
"require-dev": {
4040
"bramus/monolog-colored-line-formatter": "^3.0",
4141
"symfony/var-dumper": "^5.2",
42-
"phpunit/phpunit": "8.5.13",
42+
"phpunit/phpunit": "8.5.21",
4343
"clean/phpdoc-md": "^0.19.1"
4444
}
4545
}

composer.lock

Lines changed: 209 additions & 202 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docker-compose.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,19 @@ services:
44
image: crowdsecurity/crowdsec:latest
55
environment:
66
- DISABLE_AGENT=true
7-
volumes:
8-
- ./var/docker-data:/var/lib/crowdsec/data
97
ports:
108
- 8085:8080
9+
app-php8.1:
10+
build:
11+
context: .
12+
dockerfile: ./docker/php-8.1.Dockerfile
13+
env_file: ./docker/.env
14+
volumes:
15+
- .:/app
16+
links:
17+
- crowdsec
18+
- redis
19+
- memcached
1120
app-php8.0:
1221
build:
1322
context: .

docker/php-8.1.Dockerfile

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
FROM php:8.1-cli-alpine
2+
3+
RUN apk update \
4+
&& apk add --no-cache git mysql-client curl libmcrypt libmcrypt-dev openssh-client icu-dev \
5+
libxml2-dev freetype-dev libpng-dev libjpeg-turbo-dev g++ make autoconf libmemcached-dev \
6+
&& docker-php-source extract \
7+
&& pecl install xdebug redis memcached \
8+
&& docker-php-ext-enable xdebug redis memcached \
9+
&& docker-php-source delete \
10+
&& docker-php-ext-install pdo_mysql \
11+
&& docker-php-ext-install gd \
12+
&& echo "xdebug.mode=debug" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
13+
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
14+
&& echo "xdebug.client_port=9001" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
15+
&& echo "xdebug.remote_handler=dbgp" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
16+
&& echo "xdebug.discover_client_host=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
17+
&& echo "xdebug.idekey=mertblog.net" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
18+
&& echo "xdebug.client_host=docker.for.mac.localhost" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
19+
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
20+
&& rm -rf /tmp/*
21+
22+
ADD ./ /app
23+
WORKDIR /app
24+
25+
EXPOSE 9000

scripts/setup-local-crowdsec.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,18 @@
33
CONTAINER_NAME=${1:-app}
44

55
# Delete existing LAPI database.
6-
[ -e ./var/docker-data/crowdsec.db ] && docker-compose exec crowdsec rm -f /var/lib/crowdsec/data/crowdsec.db
6+
#[ -e ./var/docker-data/crowdsec.db ] && docker-compose exec crowdsec rm -f /var/lib/crowdsec/data/crowdsec.db
77

88
# Start containers.
9-
docker-compose up --force-recreate -d crowdsec
10-
docker-compose up --remove-orphans -d redis memcached
9+
docker-compose up --force-recreate -d crowdsec
10+
docker-compose up --remove-orphans -d redis memcached
1111

1212
# Create a bouncer with cscli and copy expose generated key.
13+
docker-compose exec crowdsec /usr/local/bin/cscli bouncers delete bouncer-php-library &&
1314
docker-compose exec crowdsec /usr/local/bin/cscli bouncers add bouncer-php-library -o raw > ./.bouncer-key
1415

1516
# Create a watcher with cscli.
17+
docker-compose exec crowdsec cscli machines delete PhpUnitTestMachine &&
1618
docker-compose exec crowdsec cscli machines add PhpUnitTestMachine --password PhpUnitTestMachinePassword > /dev/null 2>&1
1719

1820
# Ensure composer deps are presents

tests-local-php8.1.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
./tests-local.sh app-php8.1

tests-local.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ CONTAINER_NAME=${1:-app}
44
# Setup local CrowdSec instance
55
./scripts/setup-local-crowdsec.sh
66

7-
docker-compose run --rm $CONTAINER_NAME ./vendor/bin/phpunit --testdox --colors --exclude-group ignore tests/IpVerificationTest.php
7+
docker-compose run --rm $CONTAINER_NAME ./vendor/bin/phpunit --testdox --colors --exclude-group ignore tests/IpVerificationTest.php

0 commit comments

Comments
 (0)