mirror of
https://github.com/XRPLF/clio.git
synced 2025-11-04 11:55:51 +00:00
107 lines
3.0 KiB
YAML
107 lines
3.0 KiB
YAML
name: Check new libXRPL
|
|
|
|
on:
|
|
repository_dispatch:
|
|
types: [check_libxrpl]
|
|
|
|
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
|
|
|
|
env:
|
|
CONAN_PROFILE: gcc
|
|
|
|
jobs:
|
|
build:
|
|
name: Build Clio / `libXRPL ${{ github.event.client_payload.version }}`
|
|
runs-on: heavy
|
|
container:
|
|
image: ghcr.io/xrplf/clio-ci:b2be4b51d1d81548ca48e2f2b8f67356b880c96d
|
|
|
|
steps:
|
|
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Prepare runner
|
|
uses: XRPLF/actions/.github/actions/prepare-runner@7951b682e5a2973b28b0719a72f01fc4b0d0c34f
|
|
with:
|
|
disable_ccache: true
|
|
|
|
- name: Update libXRPL version requirement
|
|
shell: bash
|
|
run: |
|
|
sed -i.bak -E "s|'xrpl/[a-zA-Z0-9\\.\\-]+'|'xrpl/${{ github.event.client_payload.conan_ref }}'|g" conanfile.py
|
|
rm -f conanfile.py.bak
|
|
|
|
- name: Update conan lockfile
|
|
shell: bash
|
|
run: |
|
|
conan lock create . --profile:all ${{ env.CONAN_PROFILE }}
|
|
|
|
- name: Run conan
|
|
uses: ./.github/actions/conan
|
|
with:
|
|
conan_profile: ${{ env.CONAN_PROFILE }}
|
|
|
|
- name: Run CMake
|
|
uses: ./.github/actions/cmake
|
|
with:
|
|
conan_profile: ${{ env.CONAN_PROFILE }}
|
|
|
|
- name: Build Clio
|
|
uses: ./.github/actions/build-clio
|
|
|
|
- name: Strip tests
|
|
run: strip build/clio_tests
|
|
|
|
- name: Upload clio_tests
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: clio_tests_check_libxrpl
|
|
path: build/clio_tests
|
|
|
|
run_tests:
|
|
name: Run tests
|
|
needs: build
|
|
runs-on: heavy
|
|
container:
|
|
image: ghcr.io/xrplf/clio-ci:b2be4b51d1d81548ca48e2f2b8f67356b880c96d
|
|
|
|
steps:
|
|
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
with:
|
|
name: clio_tests_check_libxrpl
|
|
|
|
- name: Run clio_tests
|
|
run: |
|
|
chmod +x ./clio_tests
|
|
./clio_tests
|
|
|
|
create_issue_on_failure:
|
|
name: Create an issue on failure
|
|
needs: [build, run_tests]
|
|
if: ${{ always() && contains(needs.*.result, 'failure') }}
|
|
runs-on: ubuntu-latest
|
|
|
|
permissions:
|
|
contents: write
|
|
issues: write
|
|
|
|
steps:
|
|
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
|
|
|
|
- name: Create an issue
|
|
uses: ./.github/actions/create-issue
|
|
env:
|
|
GH_TOKEN: ${{ github.token }}
|
|
with:
|
|
labels: "compatibility,bug"
|
|
title: "Proposed libXRPL check failed"
|
|
body: >
|
|
Clio build or tests failed against `libXRPL ${{ github.event.client_payload.conan_ref }}`.
|
|
|
|
PR: ${{ github.event.client_payload.pr_url }}
|
|
Workflow run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}/
|