name: Nix - GA Runner on: push: branches: ["dev", "candidate", "release"] pull_request: branches: ["dev", "candidate", "release"] schedule: - cron: '0 0 * * *' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build-job: runs-on: ubuntu-latest outputs: artifact_name: ${{ steps.set-artifact-name.outputs.artifact_name }} strategy: fail-fast: false matrix: compiler: [gcc] configuration: [Debug] include: - compiler: gcc cc: gcc-13 cxx: g++-13 compiler_id: gcc-13 compiler_version: 13 env: build_dir: .build # Bump this number to invalidate all caches globally. CACHE_VERSION: 2 MAIN_BRANCH_NAME: dev steps: - name: Checkout uses: actions/checkout@v4 - name: Install build dependencies run: | sudo apt-get update sudo apt-get install -y ninja-build ${{ matrix.cc }} ${{ matrix.cxx }} ccache # Install Conan 2 pip install --upgrade "conan>=2.0" - name: Configure ccache uses: ./.github/actions/xahau-configure-ccache with: max_size: 2G hash_dir: true compiler_check: content is_main_branch: ${{ github.ref_name == env.MAIN_BRANCH_NAME }} - name: Configure Conan run: | # Create the default profile directory if it doesn't exist mkdir -p ~/.conan2/profiles # Create profile with our specific settings cat > ~/.conan2/profiles/default <> "$GITHUB_OUTPUT" echo "Using artifact name: ${ARTIFACT_NAME}" - name: Debug build directory run: | echo "Checking build directory contents: ${{ env.build_dir }}" ls -la ${{ env.build_dir }} || echo "Build directory not found or empty" - name: Run tests run: | # Ensure the binary exists before trying to run if [ -f "${{ env.build_dir }}/rippled" ]; then ${{ env.build_dir }}/rippled --unittest --unittest-jobs $(nproc) else echo "Error: rippled executable not found in ${{ env.build_dir }}" exit 1 fi