## Summary - **Remove xmake build system**: delete `xmake.lua`, `test-xmake.yml` workflow, and all xmake-related pixi tasks - **Migrate packaging to CMake**: `publish-clice.yml` now uses `cmake -DCLICE_RELEASE=ON` instead of xmake pack - **Clean up**: remove unused `tests/uv.lock`, `.xmake/` from `.gitignore`, xmake references from docs - **Benchmark CI**: change trigger from `pull_request` to `workflow_dispatch` (manual only) - **Simplify CLI parsing**: use `DecoKV(style = KVStyle::JoinedOrSeparate)` in `clice.cc` and `unit_tests.cc`, replacing verbose `DecoKVStyled` with manual `static_cast` bitmask; use comma separators; explicit `names` only for underscore fields ## Test plan - [x] `pixi run cmake-build RelWithDebInfo` compiles successfully - [x] Verify `pixi run test` passes - [x] Verify `pixi run package` produces correct archives via CMake release build - [x] Verify benchmark workflow can be triggered manually via `gh workflow run benchmark` 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Consolidated CI workflows; some automated triggers converted to manual invocation * Standardized shell for workflow steps and removed legacy build workflow * Switched packaging/build tasks to a CMake/Ninja flow and updated artifact paths * Adjusted ignore rules to include previously-ignored build metadata * **Documentation** * Removed XMake-specific build and test instructions; docs now reflect the CMake-based workflow * **Style** * Updated CLI option declaration style (no user-facing flag name changes) <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
45 lines
1.3 KiB
YAML
45 lines
1.3 KiB
YAML
name: benchmark
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
benchmark:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-24.04, macos-15, windows-2025]
|
|
runs-on: ${{ matrix.os }}
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- uses: ./.github/actions/setup-pixi
|
|
|
|
- name: Build scan_benchmark
|
|
run: |
|
|
pixi run cmake-config RelWithDebInfo ON "-DCLICE_ENABLE_BENCHMARK=ON"
|
|
cmake --build build/RelWithDebInfo --target scan_benchmark
|
|
|
|
- name: Clone LLVM
|
|
run: git clone --depth 1 https://github.com/llvm/llvm-project.git
|
|
|
|
- name: Generate CDB
|
|
run: |
|
|
cmake -B llvm-build -G Ninja \
|
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
|
-DCMAKE_TOOLCHAIN_FILE="$(pwd)/cmake/toolchain.cmake" \
|
|
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;lldb;mlir;polly;flang;bolt" \
|
|
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
|
|
llvm-project/llvm
|
|
|
|
- name: Run benchmark
|
|
run: ./build/RelWithDebInfo/bin/scan_benchmark --runs 20 llvm-build/compile_commands.json
|
|
|
|
- name: Stop sccache server
|
|
if: runner.os == 'Windows'
|
|
run: pixi run -- sccache --stop-server || true
|