22# MODIFY IT ACCORDING TO YOUR NEEDS!
33# Reference: https://docs.github.com/en/actions
44
5- name : test
5+ name : CI
66
77on :
88 push :
3030 wheel-path : ${{ steps.distribution-paths.outputs.wheel }}
3131 tarball-path : ${{ steps.distribution-paths.outputs.tarball }}
3232 steps :
33- - uses : actions/checkout@v3
33+ - uses : actions/checkout@v4
3434 with : { fetch-depth: 0 } # deep clone for setuptools-scm
35- - uses : actions/setup-python@v4
35+ - uses : actions/setup-python@v5
3636 with : { python-version: "3.11" }
3737 - name : Run static analysis and format checkers
3838 run : pipx run pre-commit run --all-files --show-diff-on-failure
@@ -49,39 +49,45 @@ jobs:
4949 # `tests`, `pypi-publish`, and `docker-publish` will use the same
5050 # pre-built distributions, so we make sure to release the exact
5151 # same package that was tested
52- uses : actions/upload-artifact@v3
52+ uses : actions/upload-artifact@v4
5353 with :
5454 name : python-distribution-files
5555 path : dist/
5656 retention-days : 1
57- - name : Keepalive Workflow
58- uses : gautamkrishnar/keepalive-workflow@1.1.0
59- with :
60- time_elapsed : 44
61- gh_token : ${{ secrets.GITHUB_TOKEN }}
57+ # TODO: Fix or remove: https://sagebionetworks.jira.com/browse/ORCA-347
58+ # - name: Keepalive Workflow
59+ # uses: gautamkrishnar/keepalive-workflow@1.1.0
60+ # with:
61+ # time_elapsed: 44
62+ # gh_token: ${{ secrets.GITHUB_TOKEN }}
6263
6364 test :
6465 needs : prepare
6566 strategy :
6667 matrix :
6768 python :
68- - " 3.9" # oldest Python that is supported
69- - " 3.11" # newest Python that is stable
69+ # TODO: Sunset 3.10: https://sagebionetworks.jira.com/browse/ORCA-352
70+ # TODO: Allow more recent Python versions: https://sagebionetworks.jira.com/browse/ORCA-346
71+ - " 3.10"
72+ - " 3.11"
73+ # - "3.12"
74+ # - "3.13"
75+ # - "3.14"
7076 platform :
7177 - ubuntu-latest
7278 - macos-latest
73- # TODO: Debug the Windows issues
74- # - windows-latest
79+ # TODO: Fix or remove Windows testing: https://sagebionetworks.jira.com/browse/ORCA-348
80+ # - windows-latest
7581 env :
7682 OS : ${{ matrix.platform }}
7783 PYTHON : ${{ matrix.python }}
7884 runs-on : ${{ matrix.platform }}
7985 steps :
80- - uses : actions/checkout@v3
86+ - uses : actions/checkout@v4
8187 - uses : actions/setup-python@v4
8288 with :
8389 python-version : ${{ matrix.python }}
84- - uses : actions/download-artifact@v3
90+ - uses : actions/download-artifact@v4
8591 with : { name: python-distribution-files, path: dist/ }
8692 - name : Install tox-gh plugin
8793 run : python -m pip install tox-gh>=1.2
@@ -109,10 +115,10 @@ jobs:
109115 if : ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags/') }}
110116 runs-on : ubuntu-latest
111117 steps :
112- - uses : actions/checkout@v3
118+ - uses : actions/checkout@v4
113119 - uses : actions/setup-python@v4
114120 with : { python-version: "3.11" }
115- - uses : actions/download-artifact@v3
121+ - uses : actions/download-artifact@v4
116122 with : { name: python-distribution-files, path: dist/ }
117123 - name : Publish Python Package to PyPI
118124 env :
@@ -122,12 +128,13 @@ jobs:
122128 run : pipx run --spec 'tox!=3.0' tox -e publish
123129
124130 docker-publish :
131+ permissions : write-all
125132 needs : [prepare, test]
126133 if : ${{ github.event_name == 'push' }}
127134 runs-on : ubuntu-latest
128135 steps :
129- - uses : actions/checkout@v3
130- - uses : actions/download-artifact@v3
136+ - uses : actions/checkout@v4
137+ - uses : actions/download-artifact@v4
131138 with : { name: python-distribution-files, path: dist/ }
132139 - uses : docker/setup-qemu-action@v2
133140 - uses : docker/setup-buildx-action@v2
0 commit comments