[DO NOT MERGE] Partial sync mode #1345
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: MacOS - GA Runner | |
| on: | |
| push: | |
| branches: ["dev", "candidate", "release"] | |
| pull_request: | |
| branches: ["**"] | |
| types: [opened, synchronize, reopened, labeled, unlabeled] | |
| schedule: | |
| - cron: '0 0 * * *' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| if: > | |
| github.event_name != 'pull_request' || | |
| contains(fromJson('["dev","candidate","release"]'), github.base_ref) || | |
| contains(join(github.event.pull_request.labels.*.name, ','), 'ci-full-build') | |
| strategy: | |
| matrix: | |
| generator: | |
| - Ninja | |
| configuration: | |
| - Debug | |
| runs-on: [self-hosted, macOS] | |
| env: | |
| build_dir: .build | |
| # Bump this number to invalidate all caches globally. | |
| CACHE_VERSION: 3 | |
| MAIN_BRANCH_NAME: dev | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Add Homebrew to PATH | |
| run: | | |
| echo "/opt/homebrew/bin" >> "$GITHUB_PATH" | |
| echo "/opt/homebrew/sbin" >> "$GITHUB_PATH" | |
| - name: Install Coreutils | |
| run: | | |
| brew install coreutils | |
| echo "Num proc: $(nproc)" | |
| # To isolate environments for each Runner, instead of installing globally with brew, | |
| # use mise to isolate environments for each Runner directory. | |
| - name: Setup toolchain (mise) | |
| uses: jdx/mise-action@v3.6.1 | |
| with: | |
| cache: false | |
| install: true | |
| mise_toml: | | |
| [tools] | |
| cmake = "3.25.3" | |
| python = "3.12" | |
| pipx = "latest" | |
| conan = "2" | |
| ninja = "latest" | |
| ccache = "latest" | |
| - name: Install tools via mise | |
| run: | | |
| mise install | |
| mise reshim | |
| echo "$HOME/.local/share/mise/shims" >> "$GITHUB_PATH" | |
| - name: Check environment | |
| run: | | |
| echo "PATH:" | |
| echo "${PATH}" | tr ':' '\n' | |
| which python && python --version || echo "Python not found" | |
| which conan && conan --version || echo "Conan not found" | |
| which cmake && cmake --version || echo "CMake not found" | |
| clang --version | |
| ccache --version | |
| echo "---- Full Environment ----" | |
| env | |
| - name: Get commit message | |
| id: get-commit-message | |
| uses: ./.github/actions/xahau-ga-get-commit-message | |
| with: | |
| event-name: ${{ github.event_name }} | |
| head-commit-message: ${{ github.event.head_commit.message }} | |
| pr-head-sha: ${{ github.event.pull_request.head.sha }} | |
| - name: Detect compiler version | |
| id: detect-compiler | |
| run: | | |
| COMPILER_VERSION=$(clang --version | grep -oE 'version [0-9]+' | grep -oE '[0-9]+') | |
| echo "compiler_version=${COMPILER_VERSION}" >> $GITHUB_OUTPUT | |
| echo "Detected Apple Clang version: ${COMPILER_VERSION}" | |
| - name: Install dependencies | |
| uses: ./.github/actions/xahau-ga-dependencies | |
| with: | |
| configuration: ${{ matrix.configuration }} | |
| build_dir: ${{ env.build_dir }} | |
| compiler-id: clang | |
| cache_version: ${{ env.CACHE_VERSION }} | |
| main_branch: ${{ env.MAIN_BRANCH_NAME }} | |
| os: Macos | |
| arch: armv8 | |
| compiler: apple-clang | |
| compiler_version: ${{ steps.detect-compiler.outputs.compiler_version }} | |
| stdlib: libcxx | |
| - name: Build | |
| uses: ./.github/actions/xahau-ga-build | |
| with: | |
| generator: ${{ matrix.generator }} | |
| configuration: ${{ matrix.configuration }} | |
| build_dir: ${{ env.build_dir }} | |
| compiler-id: clang | |
| cache_version: ${{ env.CACHE_VERSION }} | |
| main_branch: ${{ env.MAIN_BRANCH_NAME }} | |
| stdlib: libcxx | |
| ccache_max_size: '100G' | |
| - name: Test | |
| run: | | |
| ${{ env.build_dir }}/rippled --unittest --unittest-jobs $(nproc) |