mirror of
https://github.com/XRPLF/clio.git
synced 2026-09-27 23:48:08 +00:00
Note: some files are taken exactly as they are in rippled, so changing something here wouldn't be great (because they will drift)
111 lines
3.0 KiB
YAML
111 lines
3.0 KiB
YAML
name: Build
|
|
|
|
on:
|
|
push:
|
|
branches: [release/*, develop]
|
|
pull_request:
|
|
branches: [release/*, develop]
|
|
paths:
|
|
- .github/workflows/build.yml
|
|
|
|
- .github/workflows/reusable-build-test.yml
|
|
- .github/workflows/reusable-build.yml
|
|
- .github/workflows/reusable-test.yml
|
|
- .github/workflows/reusable-upload-coverage-report.yml
|
|
|
|
- ".github/actions/**"
|
|
- "!.github/actions/build-docker-image/**"
|
|
|
|
- CMakeLists.txt
|
|
- conanfile.py
|
|
- conan.lock
|
|
- "cmake/**"
|
|
- "src/**"
|
|
- "tests/**"
|
|
- "benchmarks/**"
|
|
|
|
- docs/config-description.md
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
# Develop branch: Each run gets unique group (using run_number) for parallel execution
|
|
# Other branches: Shared group with cancel-in-progress to stop old runs when new commits are pushed
|
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref == 'refs/heads/develop' && github.run_number || 'branch' }}
|
|
cancel-in-progress: true
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
build-and-test:
|
|
name: Build and Test
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [heavy]
|
|
compiler: [gcc, clang]
|
|
build_type: [Release, Debug]
|
|
container: ['{ "image": "ghcr.io/xrplf/xrpld/nix-ubuntu:sha-060957e" }']
|
|
|
|
include:
|
|
- os: macos-26-apple-clang-21
|
|
compiler: apple-clang
|
|
build_type: Release
|
|
container: ""
|
|
|
|
uses: ./.github/workflows/reusable-build-test.yml
|
|
with:
|
|
runs_on: ${{ matrix.os }}
|
|
container: ${{ matrix.container }}
|
|
compiler: ${{ matrix.compiler }}
|
|
build_type: ${{ matrix.build_type }}
|
|
download_ccache: true
|
|
upload_ccache: true
|
|
run_unit_tests: true
|
|
run_integration_tests: false
|
|
upload_clio_server: true
|
|
|
|
code_coverage:
|
|
name: Run Code Coverage
|
|
|
|
uses: ./.github/workflows/reusable-build.yml
|
|
with:
|
|
runs_on: heavy
|
|
container: '{ "image": "ghcr.io/xrplf/xrpld/nix-ubuntu:sha-060957e" }'
|
|
compiler: gcc
|
|
build_type: Debug
|
|
download_ccache: true
|
|
upload_ccache: true
|
|
code_coverage: true
|
|
upload_clio_server: false
|
|
targets: all
|
|
analyze_build_time: false
|
|
secrets:
|
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
|
|
check_config:
|
|
name: Check Config Description
|
|
needs: build-and-test
|
|
runs-on: heavy
|
|
container:
|
|
image: ghcr.io/xrplf/xrpld/nix-ubuntu:sha-060957e
|
|
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
with:
|
|
name: clio_server_Linux_Release_gcc
|
|
|
|
- name: Compare Config Description
|
|
run: |
|
|
repoConfigFile=docs/config-description.md
|
|
configDescriptionFile=config_description_new.md
|
|
|
|
chmod +x ./clio_server
|
|
./clio_server -d "${configDescriptionFile}"
|
|
|
|
diff -u "${repoConfigFile}" "${configDescriptionFile}"
|