kopia lustrzana https://github.com/nextcloud/social
				
				
				
			
		
			
				
	
	
		
			102 wiersze
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			102 wiersze
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
| name: PHPUnit
 | |
| 
 | |
| on:
 | |
|   pull_request:
 | |
|   push:
 | |
|     branches:
 | |
|       - master
 | |
|       - stable*
 | |
| 
 | |
| env:
 | |
|   # Location of the phpunit.xml and phpunit.integration.xml files
 | |
|   PHPUNIT_CONFIG: ./tests/phpunit.xml
 | |
|   PHPUNIT_INTEGRATION_CONFIG: ./tests/phpunit.integration.xml
 | |
| 
 | |
| jobs:
 | |
|   phpunit-sqlite:
 | |
|     runs-on: ubuntu-latest
 | |
| 
 | |
|     strategy:
 | |
|       matrix:
 | |
|         php-versions: ['8.0']
 | |
|         server-versions: ['master']
 | |
| 
 | |
|     steps:
 | |
|       - name: Set app env
 | |
|         run: |
 | |
|           # Split and keep last
 | |
|           echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV          
 | |
| 
 | |
|       - name: Checkout server
 | |
|         uses: actions/checkout@v3
 | |
|         with:
 | |
|           submodules: true
 | |
|           repository: nextcloud/server
 | |
|           ref: ${{ matrix.server-versions }}
 | |
| 
 | |
|       - name: Checkout app
 | |
|         uses: actions/checkout@v3
 | |
|         with:
 | |
|           path: apps/${{ env.APP_NAME }}
 | |
| 
 | |
|       - name: Set up php ${{ matrix.php-versions }}
 | |
|         uses: shivammathur/setup-php@v2
 | |
|         with:
 | |
|           php-version: ${{ matrix.php-versions }}
 | |
|           tools: phpunit
 | |
|           extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite
 | |
|           coverage: none
 | |
| 
 | |
|       - name: Set up PHPUnit
 | |
|         working-directory: apps/${{ env.APP_NAME }}
 | |
|         run: composer i
 | |
| 
 | |
|       - name: Set up Nextcloud
 | |
|         env:
 | |
|           DB_PORT: 4444
 | |
|         run: |
 | |
|           mkdir data
 | |
|           ./occ maintenance:install --verbose --database=sqlite --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
 | |
|           ./occ app:enable ${{ env.APP_NAME }}          
 | |
| 
 | |
|       - name: Check PHPUnit config file existence
 | |
|         id: check_phpunit
 | |
|         uses: andstor/file-existence-action@v1
 | |
|         with:
 | |
|           files: apps/${{ env.APP_NAME }}/${{ env.PHPUNIT_CONFIG }}
 | |
| 
 | |
|       - name: PHPUnit
 | |
|         # Only run if phpunit config file exists
 | |
|         if: steps.check_phpunit.outputs.files_exists == 'true'
 | |
|         working-directory: apps/${{ env.APP_NAME }}
 | |
|         run: ./vendor/phpunit/phpunit/phpunit -c ${{ env.PHPUNIT_CONFIG }}
 | |
| 
 | |
|       - name: Check PHPUnit integration config file existence
 | |
|         id: check_integration
 | |
|         uses: andstor/file-existence-action@v1
 | |
|         with:
 | |
|           files: apps/${{ env.APP_NAME }}/${{ env.PHPUNIT_INTEGRATION_CONFIG }}
 | |
| 
 | |
|       - name: Run Nextcloud
 | |
|         # Only run if phpunit integration config file exists
 | |
|         if: steps.check_integration.outputs.files_exists == 'true'
 | |
|         run: php -S localhost:8080 &
 | |
| 
 | |
|       - name: PHPUnit integration
 | |
|         # Only run if phpunit integration config file exists
 | |
|         if: steps.check_integration.outputs.files_exists == 'true'
 | |
|         working-directory: apps/${{ env.APP_NAME }}
 | |
|         run: ./vendor/phpunit/phpunit/phpunit -c ${{ env.PHPUNIT_INTEGRATION_CONFIG }}
 | |
| 
 | |
|   summary:
 | |
|     runs-on: ubuntu-latest
 | |
|     needs: phpunit-sqlite
 | |
| 
 | |
|     if: always()
 | |
| 
 | |
|     name: phpunit-sqlite-summary
 | |
| 
 | |
|     steps:
 | |
|       - name: Summary status
 | |
|         run: if ${{ needs.phpunit-sqlite.result != 'success' }}; then exit 1; fi
 |