mirror of
				https://github.com/XRPLF/clio.git
				synced 2025-11-04 03:45:50 +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:c117f470f2ef954520ab5d1c8a5ed2b9e68d6f8a
 | 
						|
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
 | 
						|
        with:
 | 
						|
          fetch-depth: 0
 | 
						|
 | 
						|
      - name: Prepare runner
 | 
						|
        uses: XRPLF/actions/.github/actions/prepare-runner@99685816bb60a95a66852f212f382580e180df3a
 | 
						|
        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:c117f470f2ef954520ab5d1c8a5ed2b9e68d6f8a
 | 
						|
 | 
						|
    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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.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 }}/
 |