mirror of
				https://github.com/XRPLF/clio.git
				synced 2025-11-04 11:55:51 +00:00 
			
		
		
		
	Builds the Linux packages with CPack. Generate them by running Conan with `--options:host "&:package=True" --options:host "&:static=True"` then after the build you can run `cpack .` in the build directory. @mathbunnyru Where do you think this should be built? QA needs a package per-commit. @godexsoft What to do with the `config.json` and service file. I can just remove them or strip the comment out but it still won't work out the box with the default `rippled.cfg`. Relates to #2191. --------- Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com>
		
			
				
	
	
		
			99 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Reusable build and test
 | 
						|
 | 
						|
on:
 | 
						|
  workflow_call:
 | 
						|
    inputs:
 | 
						|
      runs_on:
 | 
						|
        description: Runner to run the job on
 | 
						|
        required: true
 | 
						|
        type: string
 | 
						|
 | 
						|
      container:
 | 
						|
        description: "The container object as a JSON string (leave empty to run natively)"
 | 
						|
        required: true
 | 
						|
        type: string
 | 
						|
 | 
						|
      conan_profile:
 | 
						|
        description: Conan profile to use
 | 
						|
        required: true
 | 
						|
        type: string
 | 
						|
 | 
						|
      build_type:
 | 
						|
        description: Build type
 | 
						|
        required: true
 | 
						|
        type: string
 | 
						|
 | 
						|
      disable_cache:
 | 
						|
        description: Whether ccache should be disabled
 | 
						|
        required: false
 | 
						|
        type: boolean
 | 
						|
        default: false
 | 
						|
 | 
						|
      static:
 | 
						|
        description: Whether to build static binaries
 | 
						|
        required: true
 | 
						|
        type: boolean
 | 
						|
        default: true
 | 
						|
 | 
						|
      run_unit_tests:
 | 
						|
        description: Whether to run unit tests
 | 
						|
        required: true
 | 
						|
        type: boolean
 | 
						|
 | 
						|
      run_integration_tests:
 | 
						|
        description: Whether to run integration tests
 | 
						|
        required: true
 | 
						|
        type: boolean
 | 
						|
        default: false
 | 
						|
 | 
						|
      upload_clio_server:
 | 
						|
        description: Whether to upload clio_server
 | 
						|
        required: true
 | 
						|
        type: boolean
 | 
						|
 | 
						|
      targets:
 | 
						|
        description: Space-separated build target names
 | 
						|
        required: false
 | 
						|
        type: string
 | 
						|
        default: all
 | 
						|
 | 
						|
      expected_version:
 | 
						|
        description: Expected version of the clio_server binary
 | 
						|
        required: false
 | 
						|
        type: string
 | 
						|
        default: ""
 | 
						|
 | 
						|
      package:
 | 
						|
        description: Whether to generate Debian package
 | 
						|
        required: false
 | 
						|
        type: boolean
 | 
						|
        default: false
 | 
						|
 | 
						|
jobs:
 | 
						|
  build:
 | 
						|
    uses: ./.github/workflows/build_impl.yml
 | 
						|
    with:
 | 
						|
      runs_on: ${{ inputs.runs_on }}
 | 
						|
      container: ${{ inputs.container }}
 | 
						|
      conan_profile: ${{ inputs.conan_profile }}
 | 
						|
      build_type: ${{ inputs.build_type }}
 | 
						|
      disable_cache: ${{ inputs.disable_cache }}
 | 
						|
      code_coverage: false
 | 
						|
      static: ${{ inputs.static }}
 | 
						|
      upload_clio_server: ${{ inputs.upload_clio_server }}
 | 
						|
      targets: ${{ inputs.targets }}
 | 
						|
      analyze_build_time: false
 | 
						|
      expected_version: ${{ inputs.expected_version }}
 | 
						|
      package: ${{ inputs.package }}
 | 
						|
 | 
						|
  test:
 | 
						|
    needs: build
 | 
						|
    uses: ./.github/workflows/test_impl.yml
 | 
						|
    with:
 | 
						|
      runs_on: ${{ inputs.runs_on }}
 | 
						|
      container: ${{ inputs.container }}
 | 
						|
      conan_profile: ${{ inputs.conan_profile }}
 | 
						|
      build_type: ${{ inputs.build_type }}
 | 
						|
      run_unit_tests: ${{ inputs.run_unit_tests }}
 | 
						|
      run_integration_tests: ${{ inputs.run_integration_tests }}
 |