Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4840 commits
Select commit Hold shift + click to select a range
4dbc13a
update macos build
RasmusOrsoe Jun 4, 2025
a584dd4
adjust python version range
RasmusOrsoe Jun 4, 2025
fab02bb
bump setuptools to >= 68.2.2
RasmusOrsoe Jun 4, 2025
2b6b355
bump setuptools version in installation action
RasmusOrsoe Jun 4, 2025
b99507c
adjust setuptools version in installation action
RasmusOrsoe Jun 4, 2025
17d2efe
Adjust python range to debug setuptools version
RasmusOrsoe Jun 4, 2025
9c38693
adjust python versions
RasmusOrsoe Jun 4, 2025
4667054
adjustments to installation action
RasmusOrsoe Jun 4, 2025
7d62cac
add pyproject.toml
RasmusOrsoe Jun 4, 2025
c45311e
change 3.10 to "3.10" in build action
RasmusOrsoe Jun 4, 2025
0bc10f6
adjust code quality runner
RasmusOrsoe Jun 4, 2025
a2b3dd7
adjust macos runner
RasmusOrsoe Jun 4, 2025
ed8a81d
adjust checkout to v4 in icetray build
RasmusOrsoe Jun 4, 2025
b19c110
adjust macos runner
RasmusOrsoe Jun 4, 2025
05be8cb
add print statements to runners
RasmusOrsoe Jun 4, 2025
6b3df25
bump macos runner to macos-14
RasmusOrsoe Jun 4, 2025
059e0de
add python version prompt to icetray runner
RasmusOrsoe Jun 4, 2025
a17c005
update icetray docker image in runner
RasmusOrsoe Jun 4, 2025
ec9cdab
debug statement in icetray runner
RasmusOrsoe Jun 4, 2025
ed6d976
Change docker image in icetray runner
RasmusOrsoe Jun 4, 2025
59c6905
more debug statements
RasmusOrsoe Jun 4, 2025
90458a3
upgrade setuptools icetray runner
RasmusOrsoe Jun 4, 2025
11cb143
debug statement in icetray runner
RasmusOrsoe Jun 4, 2025
c489666
adjust pip flags in installation action
RasmusOrsoe Jun 4, 2025
5d0caa2
try --ignore-installed in icetray runner
RasmusOrsoe Jun 4, 2025
1db4152
check --ignore-installed
RasmusOrsoe Jun 4, 2025
05e24db
remove --ignore-installed
RasmusOrsoe Jun 4, 2025
de31b67
Try new icetray runner with vm
RasmusOrsoe Jun 4, 2025
ac96242
adjust icetray name to v2
RasmusOrsoe Jun 4, 2025
564c763
specify shell
RasmusOrsoe Jun 4, 2025
39dd0e9
adjust variable reference
RasmusOrsoe Jun 4, 2025
cca400f
add --upgrade-deps to vm creation
RasmusOrsoe Jun 4, 2025
5b34d82
PATH adjustments
RasmusOrsoe Jun 4, 2025
f882220
move shell declaration in new icetray runner
RasmusOrsoe Jun 4, 2025
38ecce8
update docformatter version
RasmusOrsoe Jun 4, 2025
c4c73cf
update docs from new docformatter version
RasmusOrsoe Jun 4, 2025
d2f37ad
print hook version in code quality action
RasmusOrsoe Jun 4, 2025
b3b4d4d
add flake8 as dependency in develop installation
RasmusOrsoe Jun 4, 2025
a73f1d4
print path to icetray
RasmusOrsoe Jun 5, 2025
4e783ad
adjust import to icecube
RasmusOrsoe Jun 5, 2025
f46ee7a
pip list
RasmusOrsoe Jun 5, 2025
74f1150
debug
RasmusOrsoe Jun 5, 2025
edb2f2a
remove root flag
RasmusOrsoe Jun 5, 2025
99951de
declare shell
RasmusOrsoe Jun 5, 2025
9b1d49c
Merge pull request #797 from sevmag/summary_feature_node
sevmag Jun 6, 2025
e203369
Remove awkward and timer
RasmusOrsoe Jun 6, 2025
3b6f23a
remove timer from 04_ensemble_dataset
RasmusOrsoe Jun 6, 2025
16043bf
adjust icetray-v2 runner
RasmusOrsoe Jun 9, 2025
dce7017
adjust icetray runner
RasmusOrsoe Jun 9, 2025
f58f172
set user to root in v2 icetray runner
RasmusOrsoe Jun 9, 2025
f820830
adjust shell
RasmusOrsoe Jun 9, 2025
2bc466b
adjust PYTHONPATH
RasmusOrsoe Jun 9, 2025
42b23ba
Adjust icetray v2 runner
RasmusOrsoe Jun 9, 2025
7bc920d
adjust the export statements to be global
RasmusOrsoe Jun 9, 2025
9de709e
adjustment
RasmusOrsoe Jun 9, 2025
34ce326
update versioneer in venv
RasmusOrsoe Jun 9, 2025
45feb9b
bypass installation action for debugging
RasmusOrsoe Jun 9, 2025
abdaabd
declare shell as bash in manual install
RasmusOrsoe Jun 9, 2025
4182632
update install action
RasmusOrsoe Jun 9, 2025
add4c03
Retire old icetray runner
RasmusOrsoe Jun 9, 2025
6ecd320
tidy up icetray runner
RasmusOrsoe Jun 9, 2025
1428b43
Adjust runner name
RasmusOrsoe Jun 9, 2025
a3ca6f8
Adjust python range to 3.9 - 3.13
RasmusOrsoe Jun 9, 2025
faf7eb1
Roll back to python range 3.9 - 3.11 due to awkward
RasmusOrsoe Jun 9, 2025
debd9fc
Adjust macos to test macos-14 and macos-15
RasmusOrsoe Jun 9, 2025
86b3a9a
adjust macos runner
RasmusOrsoe Jun 9, 2025
c457a51
Adjust macos runner
RasmusOrsoe Jun 9, 2025
39c0d20
adjust macos unit tests to examples
RasmusOrsoe Jun 9, 2025
9834e4d
ignore icetray macos
RasmusOrsoe Jun 9, 2025
2e22581
change number of workers to 2 by default in training examples
RasmusOrsoe Jun 9, 2025
3a02ded
add torch version as matrix
RasmusOrsoe Jun 9, 2025
eff7f20
adjust macos runner
RasmusOrsoe Jun 9, 2025
5ab9cdd
adjust runners
RasmusOrsoe Jun 9, 2025
05649be
adjust icetray runner name
RasmusOrsoe Jun 9, 2025
9eead78
update documentation installation matrix
RasmusOrsoe Jun 9, 2025
6d862cc
Adjust pytorch version range to 2.5 - 2.7
RasmusOrsoe Jun 9, 2025
aeb6252
remove `verbose` arg to scheduler due to torch 2.7 deprecation
RasmusOrsoe Jun 9, 2025
fe52fbd
adjust python range in documentation
RasmusOrsoe Jun 10, 2025
af928d7
update init docstring
Aske-Rosted Jun 13, 2025
e2cd1c3
update I3Calorimetry docstring
Aske-Rosted Jun 13, 2025
5d2777f
snake case and logger usage
Aske-Rosted Jun 13, 2025
ea0ffe9
parquet and specify non-corsika
Aske-Rosted Jun 13, 2025
4b665f5
add info to parquet conversion
Aske-Rosted Jun 13, 2025
659abef
get_primaries docstring
Aske-Rosted Jun 13, 2025
c6ea493
i3extractor docstring fixes
Aske-Rosted Jun 13, 2025
bfaab1b
docstring change
Aske-Rosted Jun 13, 2025
d5d56c9
check_primary_energy docstring fix
Aske-Rosted Jun 13, 2025
5e3e513
specify Dataconverter class
Aske-Rosted Jun 13, 2025
b20d440
merge_files parquet
Aske-Rosted Jun 13, 2025
90b350a
merge_files parquet
Aske-Rosted Jun 13, 2025
c73fc42
abc fix
Aske-Rosted Jun 13, 2025
aaa9b87
fix typing
Aske-Rosted Jun 13, 2025
af13bfe
Merge pull request #808 from RasmusOrsoe/remove_awk_and_timer
RasmusOrsoe Jun 17, 2025
1b3255b
Merge pull request #32 from RasmusOrsoe/main
RasmusOrsoe Jun 18, 2025
3d93a1d
adjust macos and example docstring
RasmusOrsoe Jun 19, 2025
839ed5a
add missing space in docstring for curated datamodules
RasmusOrsoe Jun 19, 2025
4264301
Merge branch 'torch_update' of https://github.com/RasmusOrsoe/graphne…
RasmusOrsoe Jun 19, 2025
b126d65
Merge pull request #806 from RasmusOrsoe/torch_update
RasmusOrsoe Jun 23, 2025
4f3e627
update action; grab .xml file directly.
RasmusOrsoe Jun 23, 2025
30138ac
Merge pull request #809 from RasmusOrsoe/fix_documentation_workflow
RasmusOrsoe Jun 23, 2025
b618a1f
Merge branch 'graphnet-team:main' into main
giogiopg Jun 23, 2025
654862b
add python installation action
RasmusOrsoe Jun 23, 2025
c85e413
Merge pull request #810 from RasmusOrsoe/fix_documentation_publication
RasmusOrsoe Jun 23, 2025
7f906ec
Merge branch 'graphnet-team:main' into main
giogiopg Jun 23, 2025
4ebb402
Merge branch 'graphnet-team:main' into fix_workflow
sevmag Jun 30, 2025
c02ee7e
Merge pull request #805 from sevmag/fix_workflow
sevmag Jun 30, 2025
0ebf3f5
add args docstring
Aske-Rosted Jul 1, 2025
07350d7
bundle containment handling
Aske-Rosted Jul 1, 2025
7d3b9c7
argument description altered
Aske-Rosted Jul 1, 2025
2a6a739
update test file + typo fix
Aske-Rosted Jul 1, 2025
229bb32
merge from main
Aske-Rosted Jul 1, 2025
919830c
remove build changes
Aske-Rosted Jul 2, 2025
24a9264
remove extra space
Aske-Rosted Jul 2, 2025
66a5b4e
re-add space?
Aske-Rosted Jul 2, 2025
f5281b7
simplify setup.py
RasmusOrsoe Jul 2, 2025
c391144
update installation matrix
RasmusOrsoe Jul 2, 2025
ad4f602
add comment on fresh environment
RasmusOrsoe Jul 3, 2025
f37ea03
update installation guide
RasmusOrsoe Jul 4, 2025
36ff958
update matrix
RasmusOrsoe Jul 4, 2025
605a4d1
adjust setup.py
RasmusOrsoe Jul 4, 2025
409ae31
adjust install.rst text
RasmusOrsoe Jul 4, 2025
de320c2
update installation action
RasmusOrsoe Jul 4, 2025
b23bdcc
debug echo installation action
RasmusOrsoe Jul 4, 2025
ee16afe
fix torch-27 entry in setup.py
RasmusOrsoe Jul 4, 2025
cbb17d4
docstring fix
Aske-Rosted Jul 7, 2025
d5f9b61
Merge pull request #807 from Aske-Rosted/mc_labels
Aske-Rosted Jul 7, 2025
e9d594b
Merge pull request #811 from RasmusOrsoe/fix_gpu_installation
RasmusOrsoe Jul 16, 2025
a91b27d
change pip>=20 to 'pip>=20' in installation instruction
RasmusOrsoe Jul 22, 2025
15dfad4
Adjust python range in readme.md
RasmusOrsoe Jul 22, 2025
447d985
Update km3nettruthextractor.py
giogiopg Jul 23, 2025
cde2038
Update km3nettruthextractor.py
giogiopg Jul 24, 2025
f7daa79
Update km3netpulseextractor.py
giogiopg Jul 24, 2025
8f62084
Merge branch 'graphnet-team:main' into main
giogiopg Jul 24, 2025
d42f8a2
Update install.rst
giogiopg Jul 24, 2025
a610137
Update km3netpulseextractor.py
giogiopg Jul 24, 2025
2f61199
Merge pull request #815 from RasmusOrsoe/adjust_installation_text
RasmusOrsoe Aug 11, 2025
9b4d0d6
add option to return all primaries for NuGen
sevmag Aug 6, 2025
27ddee3
fix no-in-ice-neutrino edge case
sevmag Aug 7, 2025
4c2a64d
edge case of non in-ice neutrinos
sevmag Aug 8, 2025
fc9831c
fix comments & logic
sevmag Aug 12, 2025
8d11eca
Fixing waring and assertion logic
sevmag Aug 13, 2025
e8740aa
fix calorimetry extractor
sevmag Aug 6, 2025
9cc3a70
cover case of empty primary list
sevmag Aug 8, 2025
fba43a5
Catching MuonGun error
sevmag Aug 11, 2025
93d7f45
remove redundant function
sevmag Aug 13, 2025
f3faff1
Merge pull request #818 from sevmag/get_primaries_fix
sevmag Aug 13, 2025
ba3fa8c
Merge branch 'graphnet-team:main' into main
giogiopg Aug 18, 2025
88bde58
fixing daughter filtering
sevmag Aug 19, 2025
8b3c8a4
more efficient lookup of decendents
sevmag Aug 19, 2025
cf31144
HEP treating skimming track edge case
sevmag Aug 8, 2025
2eb4f9f
removing unecessary 'else'
sevmag Aug 19, 2025
c398dcd
fix typing
sevmag Aug 20, 2025
faecee0
fix handling of negative visible length
sevmag Aug 21, 2025
19efb52
add true cascade energy option
sevmag Aug 21, 2025
40e7bd3
fixing spelling
sevmag Aug 25, 2025
77d716f
handling more negative visible lengths
sevmag Aug 25, 2025
d169195
catch cases of no-intersect
sevmag Aug 28, 2025
a53f2aa
catching MuonGun Errors
sevmag Aug 28, 2025
1c7ca78
Merge branch 'graphnet-team:main' into fix_calorimetry
sevmag Aug 28, 2025
16f1e7d
Merge pull request #819 from sevmag/fix_calorimetry
sevmag Aug 28, 2025
79883dd
Merge branch 'graphnet-team:main' into fix_HEP
sevmag Aug 29, 2025
631b1a6
Merge pull request #822 from sevmag/fix_HEP
sevmag Aug 29, 2025
6a85e9b
Merge branch 'graphnet-team:main' into main
giogiopg Sep 2, 2025
fc711cc
Revise installation steps for tool-version agreement
giogiopg Sep 2, 2025
e3c7cff
Modify drop logic for DataFrame columns
giogiopg Sep 2, 2025
2a77e77
catch case of attribute
sevmag Sep 4, 2025
47bcd49
Add ESSnuSB paper to publications list
kaareendrup Sep 5, 2025
1bb42ad
fix: eliminate RuntimeWarnings in von Mises-Fisher loss backward pass…
carlosm-silva Sep 8, 2025
401f28b
Merge pull request #828 from kaareendrup/essnusb-paper
kaareendrup Sep 11, 2025
1870c2d
Merge branch 'graphnet-team:main' into main
giogiopg Sep 23, 2025
dd1a4f5
Merge branch 'graphnet-team:main' into improve_data_selection
sevmag Sep 29, 2025
a27551b
Merge pull request #827 from sevmag/improve_data_selection
sevmag Sep 29, 2025
50d13dc
Add MAGIC Telescope detector class
astrojarred Sep 29, 2025
93384c5
Properly format with black and pydoc
astrojarred Sep 29, 2025
3a128cd
Merge branch 'graphnet-team:main' into main
giogiopg Oct 14, 2025
04c5055
Fix typos and clarify conda environment setup
giogiopg Oct 14, 2025
7f6859e
Improve installation instructions in install.rst
giogiopg Oct 14, 2025
91d2f82
replace codeclimate with Qlty Cloud for coverage report
RasmusOrsoe Oct 15, 2025
abdc2f5
Merge pull request #838 from RasmusOrsoe/fix_coverage
RasmusOrsoe Oct 15, 2025
7775832
superficial change to trigger workflow
RasmusOrsoe Oct 16, 2025
77238f5
Merge pull request #839 from RasmusOrsoe/fix_coverage
RasmusOrsoe Oct 16, 2025
e616528
add reusable docker action
RasmusOrsoe Oct 21, 2025
9c3396b
add icetray dockerfile
RasmusOrsoe Oct 21, 2025
6fda889
add standalone dockerfile
RasmusOrsoe Oct 21, 2025
dc30354
update docker workflow
RasmusOrsoe Oct 21, 2025
5644529
add if statement
RasmusOrsoe Oct 21, 2025
9b878e9
Merge pull request #840 from RasmusOrsoe/fix_docker
RasmusOrsoe Oct 21, 2025
2382b05
change link to docker action
RasmusOrsoe Oct 21, 2025
0493943
Merge pull request #841 from RasmusOrsoe/fix_docker2
RasmusOrsoe Oct 21, 2025
568da0f
move docker action
RasmusOrsoe Oct 21, 2025
bd86dbb
Merge pull request #842 from RasmusOrsoe/fix_docker3
RasmusOrsoe Oct 21, 2025
44bed8d
adjust docker path
RasmusOrsoe Oct 21, 2025
dc18c34
Merge pull request #843 from RasmusOrsoe/fix_docker4
RasmusOrsoe Oct 21, 2025
be57a1c
debug "push"
RasmusOrsoe Oct 21, 2025
6a1c91c
remove guard
RasmusOrsoe Oct 21, 2025
8e421db
debug
RasmusOrsoe Oct 21, 2025
b09bf67
adjust trigger logic
RasmusOrsoe Oct 21, 2025
018b247
Merge pull request #844 from RasmusOrsoe/fix_docker5
RasmusOrsoe Oct 21, 2025
c02e4db
fix `with:`
RasmusOrsoe Oct 21, 2025
e42ed54
specify flake8 config
RasmusOrsoe Oct 21, 2025
9821ed2
add whitespace fixer to pre-commit config
RasmusOrsoe Oct 21, 2025
9c9d295
bumpy py version in code-quality check workflow
RasmusOrsoe Oct 21, 2025
049f599
run ´pre-commit --all-files´
RasmusOrsoe Oct 21, 2025
08954f6
# noqa: C901 on `highest_energy_starting`
RasmusOrsoe Oct 21, 2025
e45f714
Merge branch 'graphnet-team:main' into main
giogiopg Oct 27, 2025
05fb659
Add description of tel_id parameter
astrojarred Nov 10, 2025
a5b738d
Add boolean flag for whether or not to use an small epsilon on charge
astrojarred Nov 10, 2025
de50e86
Merge pull request #845 from RasmusOrsoe/fix_code_quality_workflow
RasmusOrsoe Nov 11, 2025
9957737
Enable from logits option in BCE
sevmag Oct 30, 2025
0315c7d
missing import and docstring
sevmag Nov 7, 2025
ad342c3
running new linting
sevmag Nov 11, 2025
0a89fa8
Fixing merging issue
sevmag Nov 11, 2025
fd53394
Merge pull request #847 from sevmag/bce_with_logits
sevmag Nov 11, 2025
42fe543
Merge branch 'main' into main
giogiopg Nov 12, 2025
2343816
Refactor imports in km3netpulseextractor.py
giogiopg Nov 12, 2025
66577ea
Add KM3NeTExtractor to GraphNeTFileReader
giogiopg Nov 18, 2025
88880f7
Add KM3NeTExtractor to data converter
giogiopg Nov 18, 2025
e407119
Remove unused padding_value in unique ID determination
giogiopg Nov 18, 2025
487df68
Change return type to List[int] in km3net_utilities.py
giogiopg Nov 18, 2025
65db331
Add SNOWSTORM constants for data processing
giogiopg Nov 19, 2025
ab0ef22
Fix CUDA 12_6 and 12_8 installation commands
marcjacquart Nov 25, 2025
a088f9a
flake8 code quality changes.
Nov 27, 2025
b9dc5a4
Merge pull request #848 from KM3NeT/main
giogiopg Dec 4, 2025
1cd0448
Merge pull request #837 from astrojarred/astrojarred/issue836
astrojarred Dec 9, 2025
5fe7f9f
Merge pull request #850 from marcjacquart/main
marcjacquart Dec 9, 2025
ba0bbd6
add `NuBench` `detector`s
RasmusOrsoe Dec 10, 2025
3f2b42c
add import statements in `__init__`
RasmusOrsoe Dec 10, 2025
d62100f
fix typo: EventProprties ->EventProperties
kubrabas Dec 18, 2025
8e4b59c
I changed graphnet to GraphNet
christianlocatelli Jan 5, 2026
fce04b5
Omit caching of pip packages in installation
RasmusOrsoe Jan 6, 2026
c5d44a0
fix missing space
RasmusOrsoe Jan 6, 2026
656645a
add second print statement
RasmusOrsoe Jan 6, 2026
84bfbf8
Merge pull request #860 from RasmusOrsoe/fix_workflow
RasmusOrsoe Jan 7, 2026
d17aab6
Merge branch 'graphnet-team:main' into documentation_fix
christianlocatelli Jan 9, 2026
5f538f6
set `editable` flag to `false` for IceTray runner
RasmusOrsoe Jan 9, 2026
974b512
lower case
RasmusOrsoe Jan 9, 2026
3b9d3d4
delete build artifacts from base image
RasmusOrsoe Jan 9, 2026
d91910b
add more deletes
RasmusOrsoe Jan 9, 2026
916df7d
more deletes
RasmusOrsoe Jan 9, 2026
8b09734
delte virtual environment
RasmusOrsoe Jan 9, 2026
0ac3456
purge cache inbetween pip installs
RasmusOrsoe Jan 9, 2026
a1cac5a
avoid cuda downloads
RasmusOrsoe Jan 9, 2026
b30254b
clear cache after torch install
RasmusOrsoe Jan 9, 2026
2deeb1e
print statement for debug
RasmusOrsoe Jan 9, 2026
044218c
remove debug print statement
RasmusOrsoe Jan 9, 2026
f2a6c29
Merge pull request #863 from RasmusOrsoe/2nd_workflow_fix
RasmusOrsoe Jan 11, 2026
1208795
Merge branch 'graphnet-team:main' into documentation_fix
christianlocatelli Jan 14, 2026
8857cb4
Merge pull request #857 from christianlocatelli/documentation_fix
RasmusOrsoe Jan 14, 2026
737646e
Merge pull request #853 from RasmusOrsoe/nubench_detectors
RasmusOrsoe Jan 26, 2026
ad36dc6
Merge pull request #856 from kubrabas/fix_typo
Aske-Rosted Feb 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
55 changes: 44 additions & 11 deletions .github/actions/install/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,28 +13,61 @@ inputs:
extras:
description: "Extras flags for pip installation of graphnet"
required: true
default: "[develop,torch]"
default: "develop"

torch_version:
description: "Version of PyTorch"
required: true
default: "2.6.0"
options: ["2.7.0", "2.6.0", "2.5.1", "2.4.0"]

hardware:
description: "The requirements file depends on the hardware, i.e., CPU, GPU, or macOS"
required: true
default: "cpu"
options: ["cpu", "gpu", "macos"]
options: ["cpu", "cu118", "cu121", "cu124", "cu126", "macos"]

use_vm:
description: "Should the installation happen in a virtual environment named venv?"
required: true
default: false
options: [true, false]

runs:
using: "composite"
steps:
- name: Infer installation flags
- name: Prepare pip flags
id: flags
run: |
PIP_FLAG_EDITABLE=`[[ ${{ inputs.editable }} =~ (T|t)rue ]] && printf "%s\n" "-e " || echo " "`
PIP_FLAG_USER=`[[ ${{ inputs.user }} =~ (T|t)rue ]] && printf "%s\n" "--user " || echo " "`
echo "PIP_FLAGS=${PIP_FLAG_USER}${PIP_FLAG_EDITABLE}" >> $GITHUB_ENV
[[ "${{ inputs.editable }}" == "true" ]] && echo "editable_flag=-e" >> $GITHUB_OUTPUT || echo "editable_flag=" >> $GITHUB_OUTPUT
[[ "${{ inputs.user }}" == "true" ]] && echo "user_flag=--user" >> $GITHUB_OUTPUT || echo "user_flag=" >> $GITHUB_OUTPUT

version="${{ inputs.torch_version }}"
IFS='.' read -r major minor _ <<< "$version"
echo "torch_flag=${major}${minor}" >> $GITHUB_OUTPUT
shell: bash

- name: Install dependencies (pip & setuptools)
shell: bash
- name: Install dependencies
run: |
pip install --upgrade pip>=20
pip install wheel setuptools==59.5.0
if [[ "${{ inputs.use_vm }}" == "true" ]]; then source ~/venv/bin/activate; fi
pip install --no-cache-dir --upgrade 'pip>=20'
pip install --no-cache-dir --upgrade 'setuptools>=68.2.2'
rm -rf ~/.cache/pip

- name: Print pip and setuptools versions
shell: bash
- name: Install package
run: |
pip install -r requirements/torch_${{ inputs.hardware }}.txt ${{ env.PIP_FLAGS }} .${{ inputs.extras }}
if [[ "${{ inputs.use_vm }}" == "true" ]]; then source ~/venv/bin/activate; fi
pip --version
pip show setuptools

- name: Install GraphNeT
shell: bash
run: |
if [[ "${{ inputs.use_vm }}" == "true" ]]; then source ~/venv/bin/activate; fi
echo "Installing graphnet with flags: ${{ steps.flags.outputs.user_flag }} ${{ steps.flags.outputs.editable_flag }}"
echo "pip install ${{ steps.flags.outputs.user_flag }} ${{ steps.flags.outputs.editable_flag }} .[torch-${{ steps.flags.outputs.torch_flag }},${{ inputs.extras }}] -f https://data.pyg.org/whl/torch-${{ inputs.torch_version }}+${{ inputs.hardware }}.html"
pip install --no-cache-dir${{ steps.flags.outputs.user_flag }} ${{ steps.flags.outputs.editable_flag }} .[torch-${{ steps.flags.outputs.torch_flag }},${{ inputs.extras }}] -f https://data.pyg.org/whl/torch-${{ inputs.torch_version }}+${{ inputs.hardware }}.html
rm -rf ~/.cache/pip
pip install --no-cache-dir git+https://github.com/thoglu/jammy_flows.git
251 changes: 202 additions & 49 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,98 +14,251 @@ on:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:

check-codeclimate-credentials:
name: Check CodeClimate credentials
runs-on: ubuntu-latest
check-Qlty-credentials:
name: Check Qlty credentials
runs-on: ubuntu-22.04
outputs:
has_credentials: ${{ steps.setvar.outputs.has_credentials }}
steps:
- name: Check secrets
id: setvar
run: |
if [[ "${{ secrets.CODECLIMATE_TEST_REPORTER_ID }}" != "" ]]; \
then
echo "Credentials to access CodeClimate found"
echo has_credentials="true" >> $GITHUB_OUTPUT
else
echo "Credentials to access CodeClimate not found"
echo has_credentials="false" >> $GITHUB_OUTPUT
fi
if [[ -n "${{ secrets.QLTY_TOKEN }}" ]]; then
echo "Credentials to access Qlty found."
echo "has_credentials=true" >> "$GITHUB_OUTPUT"
else
echo "Credentials to access Qlty not found."
echo "has_credentials=false" >> "$GITHUB_OUTPUT"
fi

build-icetray:
name: Unit tests - IceTray
needs: [ check-codeclimate-credentials ]
runs-on: ubuntu-latest
container: icecube/icetray:combo-stable
name: Unit tests - IceTray (v1.13.0 - 3.10)
needs: [ check-Qlty-credentials ]
runs-on: ubuntu-22.04
strategy:
matrix:
torch_version: ['2.7.0']
hardware: ["cpu"]
container:
# GitHub Actions overwrite the docker container entrypoint
# inspect <image> --format '{{.Config.Entrypoint}}'
image: icecube/icetray:icetray-devel-v1.13.0-ubuntu22.04-2025-02-12

steps:
- name: Set environment variables
- name: Mimmick Docker Entrypoint
# The entrypoint of the container sets python paths
# Because the entrypoint is skipped by GitHub, we set it here
run: |
echo "I3_SRC=/opt/icetray/share/icetray" >> $GITHUB_ENV
echo "I3_BUILD=/opt/icetray/share/icetray" >> $GITHUB_ENV
echo "I3_TESTDATA=/root/icetray/build/test-data" >> $GITHUB_ENV
echo "I3_PRODDATA=/root/icetray/build/prod-data" >> $GITHUB_ENV
echo "ROOTSYS=/opt/icetray/cernroot" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=/opt/icetray/lib:/opt/icetray/cernroot/lib:/opt/icetray/lib/tools:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "DYLD_LIBRARY_PATH=/opt/icetray/lib:/opt/icetray/cernroot/lib:/opt/icetray/lib/tools:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV
echo "PYTHONPATH=/opt/icetray/lib:/opt/icetray/cernroot/lib:$PYTHONPATH" >> $GITHUB_ENV
echo "PATH=/opt/icetray/bin:$PATH" >> $GITHUB_ENV
echo "HDF5_USE_FILE_LOCKING=FALSE" >> $GITHUB_ENV
- name: Verify IceCube is importable
run: python3 -c "import icecube; print('Import Successful')"
- name: Show python version
run: |
python3 --version
pip --version
pip3 list
python3 -c "import icecube; print(icecube.__path__)"
pip show setuptools

- name: Install git
run: |
apt-get --yes install sudo
sudo apt update --fix-missing --yes
sudo apt upgrade --yes
sudo apt-get install --yes git
sudo apt-get clean

- uses: actions/checkout@v4

- name: Create virtual environment
shell: bash
run: |
echo "PATH=/usr/local/icetray/bin:$PATH" >> $GITHUB_ENV
echo "PYTHONPATH=/usr/local/icetray/lib:$PYTHONPATH" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=/usr/local/icetray/lib:/usr/local/icetray/cernroot/lib:/usr/local/icetray/lib/tools:$LD_LIBRARY_PATH" >> $GITHUB_ENV
- uses: actions/checkout@v3
- name: Upgrade packages already installed on icecube/icetray
python3 -m venv ~/venv --upgrade-deps
source ~/venv/bin/activate
pip --version
python --version
pip show setuptools
rm -rf ~/.cache/pip

- name: Print available disk space before graphnet install
run: |
df -h
- name: Upgrade packages in virtual environment
shell: bash
run: |
pip install --upgrade astropy # Installed version incompatible with numpy 1.23.0 [https://github.com/astropy/astropy/issues/12534]
pip install --ignore-installed PyYAML # Distutils installed [https://github.com/pypa/pip/issues/5247]
source ~/venv/bin/activate
pip install --no-cache-dir --upgrade astropy
pip install --no-cache-dir --upgrade PyYAML
pip install --no-cache-dir --upgrade psutil
pip install --no-cache-dir --upgrade setuptools
pip install --no-cache-dir --upgrade versioneer
pip show setuptools
pip show versioneer
rm -rf ~/.cache/pip
- name: Install PyTorch and dependencies
shell: bash
run: |
source ~/venv/bin/activate
pip3 install --no-cache-dir torch==${{ matrix.torch_version }}+${{ matrix.hardware }} torchvision torchaudio --index-url https://download.pytorch.org/whl/${{ matrix.hardware }}
rm -rf ~/.cache/pip
- name: Install package
uses: ./.github/actions/install
with:
editable: true
use_vm: true
torch_version: ${{ matrix.torch_version }}
hardware: ${{ matrix.hardware }}
- name: Print packages in pip
shell: bash
run: |
source ~/venv/bin/activate
pip show torch
pip show torch-geometric
pip show torch-cluster
pip show torch-sparse
pip show torch-scatter
pip show jammy_flows
- name: Print available disk space after graphnet install
run: |
df -h
- name: Run unit tests and generate coverage report
shell: bash
run: |
coverage run --source=graphnet -m pytest tests/
source ~/venv/bin/activate
coverage run --source=graphnet -m pytest tests/ --ignore=tests/examples/04_training --ignore=tests/utilities
coverage run -a --source=graphnet -m pytest tests/examples/04_training
coverage run -a --source=graphnet -m pytest tests/utilities
coverage xml -o coverage.xml
coverage report -m
- name: Work around permission issue
run: |
git config --global --add safe.directory /__w/graphnet/graphnet
- name: Publish code coverage
uses: paambaati/codeclimate-action@v3.0.0
if: needs.check-codeclimate-credentials.outputs.has_credentials == 'true'
env:
CC_TEST_REPORTER_ID: ${{ secrets.CODECLIMATE_TEST_REPORTER_ID }}
uses: qltysh/qlty-action/coverage@v2
if: needs.check-Qlty-credentials.outputs.has_credentials == 'true'
with:
coverageCommand: coverage report
coverageLocations: coverage.xml:coverage.py
token: ${{secrets.QLTY_TOKEN}}
files: coverage.xml

build-matrix:
name: Unit tests - Python versions
runs-on: ubuntu-latest

build-matrix-examples:
name: Examples - Ubuntu 22.04
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: [3.7, 3.8, 3.9, '3.10']
python-version: ['3.11']
torch_version: ['2.7.0', '2.6.0', '2.5.0']
hardware: ["cpu"]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Print available disk space before graphnet install
run: df -h
- name: Show existing environment
run: |
echo "PIP_FLAGS=${PIP_FLAGS}"
python --version
pip --version
pip debug --verbose
- name: Install package
uses: ./.github/actions/install
with:
editable: true
torch_version: ${{ matrix.torch_version }}
hardware: ${{ matrix.hardware }}
- name: Print available disk space after graphnet install
run: df -h
- name: Print packages in pip
run: |
pip show torch
pip show torch-geometric
pip show torch-cluster
pip show torch-sparse
pip show torch-scatter
pip show dill
pip show numpy
- name: Run unit tests and generate coverage report
run: |
set -o pipefail # To propagate exit code from pytest
coverage run --source=graphnet -m pytest tests/ --ignore=tests/data/
coverage report -m
pytest tests/examples --ignore=tests/examples/01_icetray/
- name: Print available disk space after unit tests
run: df -h

build-macos-examples:
# Runtime on macOS is multiplied with a factor 10 by github. Minimize!
name: Examples - macOS 15
runs-on: macos-15
strategy:
fail-fast: false
matrix:
python-version: ['3.11']
torch_version: ['2.7.0']
hardware: ["cpu"]

build-macos:
name: Unit tests - macOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.8
uses: actions/setup-python@v4
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: 3.8
- name: Install package
python-version: ${{ matrix.python-version }}

- name: Show Python version
run: |
python --version
which python
pip --version

- name: Install dependencies
uses: ./.github/actions/install
with:
editable: true
hardware: "macos"
torch_version: ${{ matrix.torch_version }}
hardware: ${{ matrix.hardware }}
- name: Print packages in pip
run: |
pip show torch
pip show torch-geometric
pip show torch-cluster
pip show torch-sparse
pip show torch-scatter
- name: Run unit tests and generate coverage report
run: |
set -o pipefail # To propagate exit code from pytest
coverage run --source=graphnet -m pytest tests/ --ignore=tests/data/
coverage report -m
pytest tests/examples --ignore=tests/examples/01_icetray/

docs:
name: Documentation Compilation
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: "3.10"
- name: Install package
uses: ./.github/actions/install
- name: Build documentation
run: |
cd docs
make clean
sphinx-apidoc \
--module-first \
--separate \
--force \
-d 2 \
--templatedir=source/_templates/ \
-o source/api ../src/
sed -i "2s/.*/API/" source/api/graphnet.rst
make html
10 changes: 8 additions & 2 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,20 @@ jobs:

pre-commit:
name: Pre-commit - ${{ matrix.hook }}
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
matrix:
hook: ["black", "flake8", "docformatter", "pydocstyle", "mypy"]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install package
uses: ./.github/actions/install

- name: Run ${{ matrix.hook }}
run: |
pip show ${{ matrix.hook }}
pre-commit run ${{ matrix.hook }} --all-files
Loading
Loading