mirror of
				https://github.com/XRPLF/clio.git
				synced 2025-11-04 03:45:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Run tests with sanitizers
 | 
						|
 | 
						|
on:
 | 
						|
  schedule:
 | 
						|
    - cron: "0 4 * * 1-5"
 | 
						|
  workflow_dispatch:
 | 
						|
  pull_request:
 | 
						|
    paths:
 | 
						|
      - .github/workflows/sanitizers.yml
 | 
						|
 | 
						|
      - .github/workflows/reusable-build-test.yml
 | 
						|
      - .github/workflows/reusable-build.yml
 | 
						|
      - .github/workflows/reusable-test.yml
 | 
						|
 | 
						|
      - ".github/actions/**"
 | 
						|
      - "!.github/actions/build-docker-image/**"
 | 
						|
      - "!.github/actions/create-issue/**"
 | 
						|
      - .github/scripts/execute-tests-under-sanitizer
 | 
						|
 | 
						|
      - CMakeLists.txt
 | 
						|
      - conanfile.py
 | 
						|
      - conan.lock
 | 
						|
      - "cmake/**"
 | 
						|
      # We don't run sanitizer on code change, because it takes too long
 | 
						|
      # - "src/**"
 | 
						|
      # - "tests/**"
 | 
						|
 | 
						|
concurrency:
 | 
						|
  # Only cancel in-progress jobs or runs for the current workflow - matches against branch & tags
 | 
						|
  group: ${{ github.workflow }}-${{ github.ref }}
 | 
						|
  cancel-in-progress: true
 | 
						|
 | 
						|
jobs:
 | 
						|
  build-and-test:
 | 
						|
    name: Build and Test
 | 
						|
 | 
						|
    strategy:
 | 
						|
      fail-fast: false
 | 
						|
      matrix:
 | 
						|
        compiler: [gcc, clang]
 | 
						|
        sanitizer_ext: [.asan, .tsan, .ubsan]
 | 
						|
        build_type: [Release, Debug]
 | 
						|
 | 
						|
    uses: ./.github/workflows/reusable-build-test.yml
 | 
						|
    with:
 | 
						|
      runs_on: heavy
 | 
						|
      container: '{ "image": "ghcr.io/xrplf/clio-ci:213752862ca95ecadeb59a6176c3db91a7864b3e" }'
 | 
						|
      download_ccache: false
 | 
						|
      upload_ccache: false
 | 
						|
      conan_profile: ${{ matrix.compiler }}${{ matrix.sanitizer_ext }}
 | 
						|
      build_type: ${{ matrix.build_type }}
 | 
						|
      static: false
 | 
						|
      # Currently, both gcc.tsan and clang.tsan unit tests hang
 | 
						|
      run_unit_tests: ${{ matrix.sanitizer_ext != '.tsan' }}
 | 
						|
      run_integration_tests: false
 | 
						|
      upload_clio_server: false
 | 
						|
      targets: clio_tests clio_integration_tests
 |