mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-31 13:15:43 +00:00 
			
		
		
		
	Set up CI with Azure Pipelines
[skip ci]
This commit is contained in:
		
							
								
								
									
										71
									
								
								.devops/test_stats.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								.devops/test_stats.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,71 @@ | ||||
| # Python Django | ||||
| # Test a Django project on multiple versions of Python. | ||||
| # Add steps that analyze code, save build artifacts, deploy, and more: | ||||
| # https://docs.microsoft.com/azure/devops/pipelines/languages/python | ||||
|  | ||||
| trigger: | ||||
| - master | ||||
|  | ||||
| pool: | ||||
|   vmImage: ubuntu-latest | ||||
| strategy: | ||||
|   matrix: | ||||
|     Python39: | ||||
|       PYTHON_VERSION: '3.9' | ||||
|   maxParallel: 3 | ||||
|  | ||||
| steps: | ||||
| - task: UsePythonVersion@0 | ||||
|   inputs: | ||||
|     versionSpec: '$(PYTHON_VERSION)' | ||||
|     architecture: 'x64' | ||||
|  | ||||
| - task: PythonScript@0 | ||||
|   displayName: 'Export project path' | ||||
|   inputs: | ||||
|     scriptSource: 'inline' | ||||
|     script: | | ||||
|       """Search all subdirectories for `manage.py`.""" | ||||
|       from glob import iglob | ||||
|       from os import path | ||||
|       # Python >= 3.5 | ||||
|       manage_py = next(iglob(path.join('**', 'manage.py'), recursive=True), None) | ||||
|       if not manage_py: | ||||
|           raise SystemExit('Could not find a Django project') | ||||
|       project_location = path.dirname(path.abspath(manage_py)) | ||||
|       print('Found Django project in', project_location) | ||||
|       print('##vso[task.setvariable variable=projectRoot]{}'.format(project_location)) | ||||
|  | ||||
| - script: | | ||||
|     python -m pip install --upgrade pip setuptools wheel | ||||
|     pip install --require-hashes -r requirements.txt | ||||
|     pip install --require-hashes -r requirements-dev.txt | ||||
|     pip install unittest-xml-reporting coverage invoke | ||||
|     sudo apt-get install poppler-utils | ||||
|     sudo apt-get install libpoppler-dev | ||||
|   displayName: 'Install prerequisites' | ||||
|  | ||||
| - script: | | ||||
|     pushd '$(projectRoot)' | ||||
|     invoke update | ||||
|     coverage run manage.py test --testrunner xmlrunner.extra.djangotestrunner.XMLTestRunner --no-input | ||||
|     coverage xml -i | ||||
|   displayName: 'Run tests' | ||||
|   env: | ||||
|     INVENTREE_DB_ENGINE: sqlite3 | ||||
|     INVENTREE_DB_NAME: inventree | ||||
|     INVENTREE_MEDIA_ROOT: ./media | ||||
|     INVENTREE_STATIC_ROOT: ./static | ||||
|     INVENTREE_BACKUP_DIR: ./backup | ||||
|     INVENTREE_PLUGINS_ENABLED: true | ||||
|  | ||||
| - task: PublishTestResults@2 | ||||
|   inputs: | ||||
|     testResultsFiles: "**/TEST-*.xml" | ||||
|     testRunTitle: 'Python $(PYTHON_VERSION)' | ||||
|   condition: succeededOrFailed() | ||||
|  | ||||
| - task: PublishCodeCoverageResults@1 | ||||
|   inputs: | ||||
|     codeCoverageTool: Cobertura | ||||
|     summaryFileLocation: '$(System.DefaultWorkingDirectory)/**/coverage.xml' | ||||
		Reference in New Issue
	
	Block a user