Files
mscclpp/.github/workflows/mscclpp-lang.yml
Copilot 93f6eeaa6b Remove GTest dependency, add code coverage, and refactor unit tests and CI pipelines (#744)
- Removes the GTest dependency, replacing it with a minimal custom
framework (`test/framework.*`) that covers only what the tests actually
use — a unified `TEST()` macro with SFINAE-based fixture auto-detection,
`EXPECT_*`/`ASSERT_*` assertions, environments, and setup/teardown.
- `--exclude-perf-tests` flag and substring-based negative filtering
- `MSCCLPP_ENABLE_COVERAGE` CMake option with gcov/lcov; CI uploads to
Codecov
- Merges standalone `test/perf/` into main test targets
- Refactors Azure pipelines to reduce redundancies & make more readable

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Changho Hwang <changhohwang@microsoft.com>
2026-03-24 23:34:38 -04:00

50 lines
1.7 KiB
YAML

name: MSCCLPPLang
on:
pull_request:
branches:
- main
- release/*
jobs:
compare-diffs:
runs-on: 'ubuntu-latest'
container:
image: ghcr.io/microsoft/mscclpp/mscclpp:base-dev-${{ matrix.version }}
strategy:
fail-fast: false
matrix:
version: [ 'cuda11.8', 'cuda12.9' ]
steps:
- uses: actions/checkout@v4
- name: Set environment variable
run: echo "LD_LIBRARY_PATH=/usr/local/cuda/compat:/usr/local/cuda/lib64" >> $GITHUB_ENV
- name: Install mscclpp
run: |
CMAKE_ARGS="-DMSCCLPP_BYPASS_GPU_CHECK=ON -DMSCCLPP_USE_CUDA=ON" pip3 install .
# - name: Copy test script/config to temp directory
# run: |
# cp python/test/test_generate_mscclpp_lang_result.py $RUNNER_TEMP/
# cp python/test/configs/mscclpp_lang_test_config.json $RUNNER_TEMP/
# - name: generate outputs
# run: |
# python3 $RUNNER_TEMP/test_generate_mscclpp_lang_result.py python/examples/ $RUNNER_TEMP/mscclpp_lang_test_config.json $RUNNER_TEMP/tests/pr-outputs/
# - name: Checkout main branch
# uses: actions/checkout@v4
# if: github.event_name == 'pull_request' || github.event_name == 'push'
# with:
# ref: main
# - name: Install msccl and dependencies
# run: |
# CMAKE_ARGS="-DMSCCLPP_BYPASS_GPU_CHECK=ON -DMSCCLPP_USE_CUDA=ON" pip3 install .
# - name: generate outputs
# run: |
# python3 $RUNNER_TEMP/test_generate_mscclpp_lang_result.py python/examples/ $RUNNER_TEMP/mscclpp_lang_test_config.json $RUNNER_TEMP/tests/main-outputs/
# - name: Compare outputs
# run: |
# diff -rw $RUNNER_TEMP/tests/main-outputs/ $RUNNER_TEMP/tests/pr-outputs/