mirror of
				https://github.com/shivammathur/setup-php.git
				synced 2025-11-04 17:06:37 +07:00 
			
		
		
		
	
		
			
	
	
		
			44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
		
		
			
		
	
	
			44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| 
								 | 
							
								name: Testing Symfony with MySQL
							 | 
						||
| 
								 | 
							
								on: [push, pull_request]
							 | 
						||
| 
								 | 
							
								jobs:
							 | 
						||
| 
								 | 
							
								  laravel:
							 | 
						||
| 
								 | 
							
								    name: Symfony (PHP ${{ matrix.php-versions }})
							 | 
						||
| 
								 | 
							
								    runs-on: ubuntu-latest
							 | 
						||
| 
								 | 
							
								    services:
							 | 
						||
| 
								 | 
							
								      mysql:
							 | 
						||
| 
								 | 
							
								        image: mysql:5.7
							 | 
						||
| 
								 | 
							
								        env:
							 | 
						||
| 
								 | 
							
								          MYSQL_ALLOW_EMPTY_PASSWORD: false
							 | 
						||
| 
								 | 
							
								          MYSQL_ROOT_PASSWORD: symfony
							 | 
						||
| 
								 | 
							
								          MYSQL_DATABASE: symfony
							 | 
						||
| 
								 | 
							
								        ports:
							 | 
						||
| 
								 | 
							
								          - 3306
							 | 
						||
| 
								 | 
							
								        options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
							 | 
						||
| 
								 | 
							
								    strategy:
							 | 
						||
| 
								 | 
							
								      fail-fast: false
							 | 
						||
| 
								 | 
							
								      max-parallel: 3
							 | 
						||
| 
								 | 
							
								      matrix:
							 | 
						||
| 
								 | 
							
								        php-versions: ['7.3']
							 | 
						||
| 
								 | 
							
								    steps:
							 | 
						||
| 
								 | 
							
								      - name: Checkout
							 | 
						||
| 
								 | 
							
								        uses: actions/checkout@v1
							 | 
						||
| 
								 | 
							
								      - name: Setup PHP, with composer and extensions
							 | 
						||
| 
								 | 
							
								        uses: shivammathur/setup-php@master #https://github.com/shivammathur/setup-php
							 | 
						||
| 
								 | 
							
								        with:
							 | 
						||
| 
								 | 
							
								          php-version: ${{ matrix.php-versions }}
							 | 
						||
| 
								 | 
							
								          extension-csv: mbstring, xml, ctype, iconv, mysql
							 | 
						||
| 
								 | 
							
								          coverage: xdebug #optional
							 | 
						||
| 
								 | 
							
								      - name: Install Composer dependencies
							 | 
						||
| 
								 | 
							
								        run: |
							 | 
						||
| 
								 | 
							
								          composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader
							 | 
						||
| 
								 | 
							
								      - name: Run Migration
							 | 
						||
| 
								 | 
							
								        run: |
							 | 
						||
| 
								 | 
							
								          composer require symfony/orm-pack
							 | 
						||
| 
								 | 
							
								          php bin/console doctrine:schema:update --force || echo "No migrations found or schema update failed"
							 | 
						||
| 
								 | 
							
								          php bin/console doctrine:migrations:migrate || echo "No migrations found or migration failed"
							 | 
						||
| 
								 | 
							
								        env:
							 | 
						||
| 
								 | 
							
								          DATABASE_URL: mysql://root:symfony@127.0.0.1:${{ job.services.mysql.ports['3306'] }}/symfony
							 | 
						||
| 
								 | 
							
								      - name: Run Tests
							 | 
						||
| 
								 | 
							
								        run: |
							 | 
						||
| 
								 | 
							
								          composer require phpunit
							 | 
						||
| 
								 | 
							
								          php bin/phpunit --coverage-text
							 |