@@ -12,30 +12,33 @@ concurrency:
1212 cancel-in-progress : true
1313jobs :
1414 Tests :
15+ env :
16+ UV_SYSTEM_PYTHON : 1
1517 runs-on : ${{ matrix.os }}
1618 strategy :
1719 fail-fast : false
1820 matrix :
19- python-version : ["3.9 ", "3.10 ", "3.11 ", "3.12 "]
21+ python-version : ["3.10 ", "3.11 ", "3.12 ", "3.13 "]
2022 os : [ubuntu-24.04]
2123 include :
2224 - python-version : " 3.13"
23- os : macos-latest
25+ os : macos-13
26+ - python-version : " 3.13"
27+ os : macos-14
28+ - python-version : " 3.13"
29+ os : macos-15
2430 steps :
2531 - uses : actions/checkout@v4
2632 - name : Set up Python ${{ matrix.python-version }}
2733 uses : actions/setup-python@v5
2834 with :
2935 python-version : ${{ matrix.python-version }}
30- cache : pip
31- cache-dependency-path : pyproject.toml
36+ - name : Install uv and set the python version
37+ uses : astral-sh/setup-uv@v6
38+ with :
39+ enable-cache : true
3240 - name : Install SimWeights
33- run : |
34- if [ "${{matrix.python-version}}" != "3.13" ]; then
35- python3 -m pip install nuflux
36- fi
37- python3 -m pip install flit
38- python3 -m flit install --symlink --deps=production --extras=test
41+ run : uv pip install -e .[test]
3942 - name : Download Test Data
4043 run : |
4144 curl -u icecube:${{ secrets.ICECUBE_PASSWORD }} https://convey.icecube.wisc.edu/data/ana/Software/simweights/test-data/simweights_testdata.tar.gz -O
@@ -60,14 +63,20 @@ jobs:
6063 fail_ci_if_error : false
6164 verbose : true
6265 TestsIceTray :
66+ env :
67+ UV_SYSTEM_PYTHON : 1
6368 runs-on : ubuntu-latest
6469 container : icecube/icetray:icetray-devel-current-ubuntu22.04-X64
6570 strategy :
6671 fail-fast : false
6772 steps :
6873 - uses : actions/checkout@v4
74+ - name : Install uv
75+ uses : astral-sh/setup-uv@v6
76+ with :
77+ enable-cache : true
6978 - name : Install SimWeights
70- run : python3 -m pip install 'pytest>7' .[test]
79+ run : uv pip install -e .[test]
7180 - name : Download Test Data
7281 run : |
7382 curl -u icecube:${{ secrets.ICECUBE_PASSWORD }} https://convey.icecube.wisc.edu/data/ana/Software/simweights/test-data/simweights_testdata.tar.gz -O
@@ -104,3 +113,29 @@ jobs:
104113 with :
105114 files : " *.xml"
106115 deduplicate_classes_by_file_name : true
116+ Docs :
117+ env :
118+ UV_SYSTEM_PYTHON : 1
119+ runs-on : ubuntu-24.04
120+ steps :
121+ - uses : actions/checkout@v4
122+ - name : Set up Python ${{ matrix.python-version }}
123+ uses : actions/setup-python@v5
124+ with :
125+ python-version : " 3.13"
126+ - name : Install uv
127+ uses : astral-sh/setup-uv@v6
128+ with :
129+ enable-cache : true
130+ - name : Install dependencies
131+ run : |
132+ uv pip install .[docs]
133+ - name : Run Sphinx
134+ working-directory : ./docs
135+ run : make html
136+ - name : Upload docs to docs.icecube.aq
137+ if : ${{ github.ref_name == 'main' && !github.event.act }}
138+ working-directory : ./docs
139+ run : |
140+ tar -czvf simweights_docs.tar.gz -C_build/html .
141+ curl -XPUT -i --data-binary @simweights_docs.tar.gz https://docs.icecube.aq/api/upload?path=simweights/${{ github.ref_name }} -u icecube:${{ secrets.ICECUBE_PASSWORD }}
0 commit comments