mirror of
https://github.com/XRPLF/clio.git
synced 2025-11-04 11:55:51 +00:00
106 lines
2.7 KiB
YAML
106 lines
2.7 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
|
|
|
|
download_ccache:
|
|
description: Whether to download ccache from the cache
|
|
required: false
|
|
type: boolean
|
|
default: true
|
|
|
|
upload_ccache:
|
|
description: Whether to upload ccache to the cache
|
|
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/reusable-build.yml
|
|
with:
|
|
runs_on: ${{ inputs.runs_on }}
|
|
container: ${{ inputs.container }}
|
|
conan_profile: ${{ inputs.conan_profile }}
|
|
build_type: ${{ inputs.build_type }}
|
|
download_ccache: ${{ inputs.download_ccache }}
|
|
upload_ccache: ${{ inputs.upload_ccache }}
|
|
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/reusable-test.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 }}
|