Build Analysis for MRtrix #49
This file contains 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: Build Analysis for MRtrix | |
on: | |
push: | |
workflow_dispatch: | |
# Run every Sunday at 00:00 UTC | |
schedule: | |
- cron: '0 0 * * 0' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install dependencies | |
run: sudo apt-get install clang qt6-base-dev libglvnd-dev libeigen3-dev zlib1g-dev libfftw3-dev ninja-build lld | |
- name: Clone Clang Build Analyzer | |
run: git clone https://github.com/aras-p/ClangBuildAnalyzer | |
- name: Clone MRtrix | |
run: git clone https://github.com/mrtrix3/mrtrix3 -b dev | |
- name: Build Clang Build Analyzer | |
run: | | |
cd ClangBuildAnalyzer | |
cmake -B build -G Ninja | |
cmake --build build | |
sudo cmake --install build | |
- name: Configure MRtrix | |
run: | | |
cd mrtrix3 | |
cmake -B build -G Ninja -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_CXX_FLAGS="-ftime-trace" -DMRTRIX_BUILD_TESTS=ON | |
- name: Start capture | |
run: ClangBuildAnalyzer --start mrtrix3/build | |
- name: Build MRtrix | |
run: cmake --build mrtrix3/build | |
- name: Stop capture | |
run: ClangBuildAnalyzer --stop mrtrix3/build capture_file | |
- name: Analyze build | |
run: ClangBuildAnalyzer --analyze ./capture_file | |
- name: Clone NinjaTracing | |
run: git clone https://github.com/nico/ninjatracing | |
- name: Run NinjaTracing | |
run: | | |
./ninjatracing/ninjatracing.py mrtrix3/build/.ninja_log > trace.json | |
- name: Upload trace | |
uses: actions/upload-artifact@v3 | |
with: | |
name: trace.json | |
path: trace.json |