56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| services:
 | |
|   setup:
 | |
|     image: composer:latest
 | |
|     command: >
 | |
|       /bin/sh -c "
 | |
|       rm -rf vendor && 
 | |
|       rm -f composer.lock composer.phar &&
 | |
|       set -xe && composer install &&
 | |
|       composer -v &&
 | |
|       ls -al"
 | |
|     working_dir: /app
 | |
|     volumes:
 | |
|       - .:/app
 | |
| 
 | |
|   runUnitTests:
 | |
|     depends_on: ['setup']
 | |
|     image: php:8.3-rc-alpine3.18
 | |
|     working_dir: /app
 | |
|     command: >
 | |
|       /bin/sh -c "vendor/bin/phpunit -v -c tests/phpunit.xml --coverage-text --strict-coverage --stop-on-risky"
 | |
|     volumes:
 | |
|       - .:/app
 | |
| 
 | |
|   runPerfTests:
 | |
|     depends_on: ['setup']
 | |
|     image: php:8.3-rc-alpine3.18
 | |
|     working_dir: /app
 | |
|     command: >
 | |
|       /bin/sh -c "vendor/bin/phpbench run tests/Benchmark/MobileDetectBench.php --retry-threshold=1 --iterations=10 --revs=1000 --report=aggregate"
 | |
|     volumes:
 | |
|       - .:/app
 | |
| 
 | |
|   runLinting:
 | |
|     depends_on: ['setup']
 | |
|     image: php:8.3-rc-alpine3.18
 | |
|     working_dir: /app
 | |
|     command: >
 | |
|       /bin/sh -c "vendor/bin/phpcs; vendor/bin/phpcbf"
 | |
|     ports:
 | |
|       - "8000:8000"
 | |
|     volumes:
 | |
|       - .:/app
 | |
| 
 | |
|   generateModel:
 | |
|     depends_on: ['setup', 'runUnitTests', 'runPerfTests', 'runLinting']
 | |
|     image: php:8.3-rc-alpine3.18
 | |
|     working_dir: /app
 | |
|     command: >
 | |
|       /bin/sh -c "php ./scripts/export_to_json.php"
 | |
|     ports:
 | |
|       - "8000:8000"
 | |
|     volumes:
 | |
|       - .:/app
 | |
| 
 | |
| 
 |