Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: finish meson porting and remove Makefiles and CMake files #59

Merged
merged 37 commits into from
Sep 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
32a66c3
fix: ROOT dictionary generation
c-dilks Aug 19, 2024
3e4af1d
fix: remove `lz4` submodule
c-dilks Aug 19, 2024
a33310b
deleted: .gitmodules
c-dilks Aug 19, 2024
6fa15a4
build: make sure all sources are built
c-dilks Aug 19, 2024
fae6209
build: examples
c-dilks Aug 19, 2024
28f6566
fix: suppress examples' warnings
c-dilks Aug 19, 2024
100ca69
build: fortran example
c-dilks Aug 19, 2024
77ae542
ci: build with meson
c-dilks Aug 20, 2024
2435015
fix: remove ported files
c-dilks Aug 20, 2024
8f85860
feat: build ROOT examples
c-dilks Aug 20, 2024
72fcda4
fix: build `reaction.cc`, for julia
c-dilks Aug 20, 2024
ac8f7de
ci: upload test log artifacts
c-dilks Aug 20, 2024
7d2ae35
fix: ci syntax
c-dilks Aug 20, 2024
67e36de
fix: test configurations
c-dilks Aug 20, 2024
be71b6b
refactor: consolidate tests
c-dilks Aug 20, 2024
8a1fecc
style: use `build_this` for broken example
c-dilks Aug 20, 2024
ab117dc
fix: grammar
c-dilks Aug 20, 2024
9af065f
build: remove more cmake files
c-dilks Aug 20, 2024
f89b348
feat: install sourceable env files
c-dilks Aug 21, 2024
36fb5ec
build: tell Makefiles to source installation prefix environment
c-dilks Aug 21, 2024
fd8fa01
doc: explain how to build and consume
c-dilks Aug 22, 2024
953e854
doc: fixes
c-dilks Aug 22, 2024
6c53976
doc: `ninja` is the new `make`
c-dilks Aug 22, 2024
dbc5e8a
doc: more clarity
c-dilks Aug 22, 2024
a380a08
fix: use `-pthread`, not `-lpthread`
c-dilks Aug 22, 2024
102944b
fix: add dependency `threads` for multi-threading example
c-dilks Aug 22, 2024
baed384
doc: remove cmake instructions from dataframe doc
c-dilks Aug 22, 2024
bbeb8ae
fix: define pkg-config var `with_dataframes`
c-dilks Aug 22, 2024
30a17b8
fix: `rootcling` include directive generation must use absolute path
c-dilks Aug 22, 2024
3b6f613
feat: option to disable building examples
c-dilks Aug 22, 2024
a69ed75
fix: convince WrapDB's `lz4` to work
c-dilks Aug 22, 2024
26e465f
doc: clarify optional ROOT
c-dilks Sep 9, 2024
f05b6ec
doc: details
c-dilks Sep 9, 2024
dd4b117
fix: md
c-dilks Sep 9, 2024
07064b5
doc: more details
c-dilks Sep 9, 2024
bb1d3f6
fix: syntax
c-dilks Sep 9, 2024
399c512
fix: `install_root_tools` default
c-dilks Sep 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/install-dependencies.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env bash

[ $# -ne 1 ] && exit 1
runner=$1

case "$runner" in
'ubuntu-latest')
python -m pip install meson ninja
;;
'macos-latest')
brew install meson ninja tree
# install fortran compiler:
brew install gcc
brew unlink gcc
brew link gcc
;;
*)
exit 1
;;
esac
88 changes: 37 additions & 51 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,51 +16,37 @@ defaults:

jobs:

build_cmake:
name: CMake build
build:
name: Build
strategy:
fail-fast: false
matrix:
runner: [ ubuntu-latest, macos-latest ]
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v4
- name: build
- name: install dependencies
run: .github/install-dependencies.sh ${{ matrix.runner }}
- name: meson setup
run: |
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=install
cmake --build build -j4
cmake --install build
- run: brew install tree
if: ${{ matrix.runner == 'macos-latest' }}
meson setup build . \
--prefix=`pwd`/install \
-D install_examples=true \
-D test_file=`pwd`/test_data.hipo \
-D test_fortran=true
- run: meson install
working-directory: build
- name: dump build log
if: always()
run: cat build/meson-logs/meson-log.txt
- run: tree install

build_make:
name: Makefile build
strategy:
fail-fast: false
matrix:
runner: [ ubuntu-latest, macos-latest ]
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v4
with:
path: hipo_src
submodules: recursive # FIXME: need `lz4` submoudle for Makefile, whereas `cmake` does not
- name: build
working-directory: hipo_src
run: |
make -j4
make -j4 -C examples
- run: brew install tree
if: ${{ matrix.runner == 'macos-latest' }}
- run: tree hipo_src
- name: tar
run: tar cavf hipo_src{.tar.zst,}
run: tar cavf build{.tar.zst,}
- uses: actions/upload-artifact@v4
with:
name: build_make_${{ matrix.runner }}
name: build-${{ matrix.runner }}
retention-days: 5
path: hipo_src.tar.zst
path: build.tar.zst

download_test_data:
name: Download test data
Expand All @@ -82,35 +68,35 @@ jobs:
tar xvf validation_files_${{ env.type }}.tar.zst
mv -v $(find validation_files -type f -name "*.hipo" | head -n1) test_data.hipo

examples:
name: Run examples
needs: [ download_test_data, build_make ]
test:
name: Test
needs: [ download_test_data, build ]
strategy:
fail-fast: false
matrix:
runner: [ ubuntu-latest, macos-latest ]
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/download-artifact@v4
- uses: actions/checkout@v4
- name: install dependencies
run: .github/install-dependencies.sh ${{ matrix.runner }}
- name: download build
uses: actions/download-artifact@v4
with:
name: build_make_${{ matrix.runner }}
name: build-${{ matrix.runner }}
- name: untar artifacts
run: |
ls *.tar.zst | xargs -I{} tar xvf {}
rm *.tar.zst
mv -v hipo_src/* ./
rm -rf hipo_src
run: ls *.tar.zst | xargs -I{} tar xvf {}
- name: get test data
uses: actions/cache/restore@v4
with:
key: test_data
path: test_data.hipo
- run: examples/writeFile.exe
- run: examples/readFile.exe example_output.hipo
- run: examples/readFileTags.exe
- run: examples/showFile.exe example_output.hipo event::particle
- run: examples/readJson.exe test_data.hipo
- run: examples/tupleFile.exe
- run: examples/writeUserHeader.exe
- run: examples/bankRowList.exe test_data.hipo
- run: examples/histograms.exe test_data.hipo
- run: meson test
working-directory: build
- name: upload test logs
uses: actions/upload-artifact@v4
if: always()
with:
name: test-${{ matrix.runner }}
retention-days: 5
path: build/meson-logs/*
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@
lib
slib
__pycache__
build
/build*/
/install*/
/.cache
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

194 changes: 0 additions & 194 deletions CMakeLists.txt

This file was deleted.

Loading
Loading