mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 13:32:45 +00:00 
			
		
		
		
	CI: Build Lagom with fuzzing on Azure
This commit is contained in:
		
							parent
							
								
									9fd2f97d27
								
							
						
					
					
						commit
						e3d4778a63
					
				
					 2 changed files with 62 additions and 34 deletions
				
			
		|  | @ -1,20 +1,27 @@ | |||
| parameters: | ||||
|   os: 'Linux' | ||||
|   allow_test_failures: false | ||||
|   fuzzer: 'NoFuzz' | ||||
|   allow_test_failures: 'NoFuzz' | ||||
| 
 | ||||
| jobs: | ||||
|   - job: 'Lagom_${{ parameters.os }}' | ||||
|   - job: 'Lagom_${{ parameters.os }}_${{ parameters.fuzzer }}' | ||||
| 
 | ||||
|     variables: | ||||
|     - name: CCACHE_DIR | ||||
|       value: $(Build.SourcesDirectory)/.ccache | ||||
|     - ${{ if eq(parameters.os, 'Linux') }}: | ||||
|       - name: job_pool | ||||
| 
 | ||||
|     - name: job_pool | ||||
|       ${{ if eq(parameters.os, 'Linux') }}: | ||||
|         value: ubuntu-20.04 | ||||
|     - ${{ if eq(parameters.os, 'macOS') }}: | ||||
|       - name: job_pool | ||||
|       ${{ if eq(parameters.os, 'macOS') }}: | ||||
|         value: macos-10.15 | ||||
| 
 | ||||
|     - name: toolchain | ||||
|       ${{ if eq(parameters.fuzzer, 'Fuzz') }}: | ||||
|         value: clang | ||||
|       ${{ if eq(parameters.fuzzer, 'NoFuzz') }}: | ||||
|         value: gcc | ||||
| 
 | ||||
|     pool: | ||||
|       vmImage: $(job_pool) | ||||
| 
 | ||||
|  | @ -27,46 +34,62 @@ jobs: | |||
|       parameters: | ||||
|         os: '${{ parameters.os }}' | ||||
|         arch: 'Lagom' | ||||
|         toolchain: 'gcc' | ||||
|         toolchain: '$(toolchain)' | ||||
|         build_directory: 'Meta/Lagom/Build' | ||||
| 
 | ||||
|     - script: | | ||||
|         mkdir -p Meta/Lagom/Build | ||||
|       displayName: 'Create Build Directory' | ||||
| 
 | ||||
|     - script: | | ||||
|         cmake -GNinja \ | ||||
|           -DBUILD_LAGOM=ON \ | ||||
|           -DENABLE_LAGOM_CCACHE=ON \ | ||||
|           -DINCLUDE_WASM_SPEC_TESTS=ON \ | ||||
|           -DWASM_SPEC_TEST_SKIP_FORMATTING=ON \ | ||||
|           -DENABLE_UNDEFINED_SANITIZER=ON \ | ||||
|           -DENABLE_ADDRESS_SANITIZER=ON \ | ||||
|           -DENABLE_PCI_IDS_DOWNLOAD=OFF \ | ||||
|           -DENABLE_USB_IDS_DOWNLOAD=OFF \ | ||||
|           -DCMAKE_C_COMPILER=gcc-10 \ | ||||
|           -DCMAKE_CXX_COMPILER=g++-10 \ | ||||
|           .. | ||||
|       displayName: 'Create Build Environment' | ||||
|       workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build | ||||
|       env: | ||||
|         PATH: '$(PATH):$(Build.SourcesDirectory)/wabt-1.0.23/bin' | ||||
|     - ${{ if eq(parameters.fuzzer, 'Fuzz') }}: | ||||
|       - script: | | ||||
|           cmake -GNinja \ | ||||
|             -DBUILD_LAGOM=ON \ | ||||
|             -DENABLE_LAGOM_CCACHE=ON \ | ||||
|             -DENABLE_FUZZER_SANITIZER=ON \ | ||||
|             -DENABLE_ADDRESS_SANITIZER=ON \ | ||||
|             -DENABLE_PCI_IDS_DOWNLOAD=OFF \ | ||||
|             -DENABLE_USB_IDS_DOWNLOAD=OFF \ | ||||
|             -DCMAKE_C_COMPILER=clang \ | ||||
|             -DCMAKE_CXX_COMPILER=clang++ \ | ||||
|             .. | ||||
|         displayName: 'Create Build Environment' | ||||
|         workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build | ||||
|     - ${{ if eq(parameters.fuzzer, 'NoFuzz') }}: | ||||
|       - script: | | ||||
|           cmake -GNinja \ | ||||
|             -DBUILD_LAGOM=ON \ | ||||
|             -DENABLE_LAGOM_CCACHE=ON \ | ||||
|             -DINCLUDE_WASM_SPEC_TESTS=ON \ | ||||
|             -DWASM_SPEC_TEST_SKIP_FORMATTING=ON \ | ||||
|             -DENABLE_UNDEFINED_SANITIZER=ON \ | ||||
|             -DENABLE_ADDRESS_SANITIZER=ON \ | ||||
|             -DENABLE_PCI_IDS_DOWNLOAD=OFF \ | ||||
|             -DENABLE_USB_IDS_DOWNLOAD=OFF \ | ||||
|             -DCMAKE_C_COMPILER=gcc-10 \ | ||||
|             -DCMAKE_CXX_COMPILER=g++-10 \ | ||||
|             .. | ||||
|         displayName: 'Create Build Environment' | ||||
|         workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build | ||||
|         env: | ||||
|           PATH: '$(PATH):$(Build.SourcesDirectory)/wabt-1.0.23/bin' | ||||
| 
 | ||||
|     - script: | | ||||
|         cmake --build . | ||||
|       displayName: 'Build' | ||||
|       workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build | ||||
| 
 | ||||
|     - script: | | ||||
|         ninja test || ${{ parameters.allow_test_failures }} | ||||
|       displayName: 'Test' | ||||
|       workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build | ||||
|       env: | ||||
|         SERENITY_SOURCE_DIR: '$(Build.SourcesDirectory)' | ||||
|         CTEST_OUTPUT_ON_FAILURE: 1 | ||||
|         # FIXME: enable detect_stack_use_after_return=1 #7420 | ||||
|         ASAN_OPTIONS: 'strict_string_checks=1:check_initialization_order=1:strict_init_order=1' | ||||
|         UBSAN_OPTIONS: 'print_stacktrace=1:print_summary=1:halt_on_error=1' | ||||
|     - ${{ if eq(parameters.fuzzer, 'NoFuzz') }}: | ||||
|       - script: | | ||||
|           ninja test || ${{ parameters.allow_test_failures }} | ||||
|         displayName: 'Test' | ||||
|         workingDirectory: $(Build.SourcesDirectory)/Meta/Lagom/Build | ||||
|         env: | ||||
|           SERENITY_SOURCE_DIR: '$(Build.SourcesDirectory)' | ||||
|           CTEST_OUTPUT_ON_FAILURE: 1 | ||||
|           # FIXME: enable detect_stack_use_after_return=1 #7420 | ||||
|           ASAN_OPTIONS: 'strict_string_checks=1:check_initialization_order=1:strict_init_order=1' | ||||
|           UBSAN_OPTIONS: 'print_stacktrace=1:print_summary=1:halt_on_error=1' | ||||
| 
 | ||||
|     - script: | | ||||
|         ccache -s | ||||
|  |  | |||
|  | @ -6,6 +6,11 @@ jobs: | |||
|     parameters: | ||||
|       os: 'Linux' | ||||
| 
 | ||||
|   - template: Meta/Azure/Lagom.yml | ||||
|     parameters: | ||||
|       os: 'Linux' | ||||
|       fuzzer: 'Fuzz' | ||||
| 
 | ||||
|   - template: Meta/Azure/Lagom.yml | ||||
|     parameters: | ||||
|       os: 'macOS' | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy Flynn
						Timothy Flynn