|
| 1 | +--- |
| 2 | +name: BrainVISA release check-list |
| 3 | +about: RESERVED for the @brainvisa/admin team to release BrainVISA projects |
| 4 | +title: BrainVISA x.y release check-list |
| 5 | +labels: '' |
| 6 | +assignees: '' |
| 7 | +--- |
| 8 | + |
| 9 | +# Release x.y check-list |
| 10 | + |
| 11 | +- [ ] Check that tests are successful on https://brainvisa.info/builds/ |
| 12 | + |
| 13 | +- [ ] Update changelogs and [the list of known issues](https://github.com/brainvisa/brainvisa.github.io/issues?q=%22Known+issues+for+BrainVISA%22+is%3Aissue+is%3Aopen) |
| 14 | + - [ ] https://github.com/brainvisa/aims-free/blob/soma-env-x.y/aimsdata/sphinx/user_doc/changelog.md |
| 15 | + - [ ] https://github.com/brainvisa/axon/blob/soma-env-x.y/sphinxdoc/user_doc/changelog.md |
| 16 | + - [ ] https://github.com/brainvisa/anatomist-free/blob/soma-env-x.y/sphinxman/changelog.md |
| 17 | + - [ ] https://bioproj.cea.fr/redmine/projects/brainvisa-commu/repository/web/revisions/master/entry/sphinx/changelog.md |
| 18 | + - [ ] https://bioproj.cea.fr/redmine/projects/brainvisa-commu/repository/web/revisions/master/entry/sphinx/news.md |
| 19 | + |
| 20 | +- [ ] Connect to rosette using |
| 21 | + `ssh a-sac-ns-brainvisa@rosette` |
| 22 | +- [ ] Create public and brainvisa-cea packages for conda |
| 23 | + - [ ] Change directory |
| 24 | + `cd /home_local/a-sac-ns-brainvisa/bbi-daily/soma-env-x.y` |
| 25 | + - [ ] Update sources and build software tree |
| 26 | + `pixi run bv_maker` |
| 27 | + - [ ] Update release version and generate packaging plan |
| 28 | + `pixi run soma-env packaging-plan --release` |
| 29 | + - [ ] Apply packaging plan, build conda packages and publish to /drf/neuro-forge |
| 30 | + `pixi run soma-env apply-plan` |
| 31 | + - [ ] Change directory |
| 32 | + `cd /home_local/a-sac-ns-brainvisa/bbi-daily/neuro-forge` |
| 33 | + - [ ] Reindex packages on /drf/neuro-forge and publish packages to brainvisa.info |
| 34 | + `pixi run neuro-forge publish` |
| 35 | + |
| 36 | +- [ ] Create, test, and publish/deploy the images (optional) |
| 37 | + - `sif` monolothic brainvisa install |
| 38 | + - [ ] Change directory |
| 39 | + `cd /home_local/a-sac-ns-brainvisa/bbi-daily/casa-distro` |
| 40 | + - [ ] Update casa distro |
| 41 | + `git pull` |
| 42 | + `export PATH=$(pwd)/casa-distro/bin:"$PATH"` |
| 43 | + - [ ] Change directory |
| 44 | + `cd /home_local/a-sac-ns-brainvisa/bbi-daily` |
| 45 | + - [ ] Pull a "casa-pixi" apptainer image from the BrainVISA server: |
| 46 | + `export CASA_BASE_DIRECTORY=$(pwd)` |
| 47 | + `casa_distro pull_image image=casa-pixi-5.4.sif` |
| 48 | + - [ ] Create the monolithic image |
| 49 | + `casa_distro_admin create_user_image container_type=apptainer_pixi image_version=5.4 base_image=casa-pixi-5.4.sif version=x.y distro=brainvisa` |
| 50 | + - [ ] Verify that the image works |
| 51 | + - [ ] Install the image |
| 52 | + `mkdir -p /tmp/test-brainvisa-x.y;apptainer run -ce --bind /tmp/test-brainvisa-x.y:/casa/setup /home_local/a-sac-ns-brainvisa/bbi-daily/brainvisa-x.y.sif` |
| 53 | + - [ ] Use it to run `AimsFileInfo`, `anatomist`, `brainvisa` |
| 54 | + - [ ] Publish the image on the BrainVISA web site |
| 55 | + `casa_distro_admin publish_user_image image=brainvisa-x.y.sif` |
| 56 | + |
| 57 | +- [ ] Edit the website to announce the new release |
| 58 | + - [ ] web project sources |
| 59 | + - [ ] log on rosette, rebuild the web site in the brainvisa-web build: `ssh a-sac-ns-brainvisa@rosette`, then in the server: |
| 60 | + - [ ] `/home_local/a-sac-ns-brainvisa/bbi-daily/brainvisa-web/bin/bv_maker` |
| 61 | + - [ ] publish the web site using the publish script: `/home_local/a-sac-ns-brainvisa/bbi-daily/brainvisa-web/bin/bv /home_local/a-sac-ns-brainvisa/bbi-daily/brainvisa-web/src/communication/web/master/scripts/bv_publish_web brainvisa@brainvisa.info:/var/www/html/brainvisa.info` |
| 62 | + |
| 63 | +- [ ] Deploy the `cea` pixi release: |
| 64 | + - [ ] Update the existing install directory: |
| 65 | + `cd /drf/brainvisa/brainvisa-x.y` |
| 66 | + `pixi update brainvisa` |
| 67 | + `pixi run brainvisa -b --setup` |
| 68 | + `pixi run bv_update_bin_links` |
| 69 | + - [ ] Verify that the deployment works (use it to launch `AimsFileInfo --info`, `anatomist`, `brainvisa`...) |
| 70 | + `/drf/brainvisa/brainvisa-x.y/bin/bv bash` |
| 71 | + `for __f in $(find /drf/brainvisa/brainvisa-x.y/.pixi/envs/default/share/brainvisa-share-x.y -type f -name '*.ima'); do AimsFileInfo -v -i "${__f}"; done` |
| 72 | + `anatomist $(find /drf/brainvisa/brainvisa-x.y/.pixi/envs/default/share/brainvisa-share-x.y -type f -name '*.nii')` |
| 73 | + `brainvisa` |
| 74 | + |
| 75 | +- [ ] Build pip packages for the python projects soma-workflow, soma-base, populse-db and capsul which are distributed in pip: |
| 76 | + - [ ] `./soma-env-x.y/bin/bv python -m build ./soma-env-x.y/src/soma/soma-workflow` |
| 77 | + - [ ] `./soma-env-x.y/bin/bv python -m build ./soma-env-x.y/src/soma/soma-base` |
| 78 | + - [ ] `./soma-env-x.y/bin/bv python -m build ./soma-env-x.y/src/populse/populse-db` |
| 79 | + - [ ] `./soma-env-x.y/bin/bv python -m build ./soma-env-x.y/src/capsul` |
| 80 | + |
| 81 | +- [ ] Publish them to `test.pypi.org` |
| 82 | + - [ ] `./soma-env-x.y/bin/bv python -m twine upload --repository testpypi ./soma-env-x.y/src/soma/soma-workflow/dist/*` |
| 83 | + - [ ] `./soma-env-x.y/bin/bv python -m twine upload --repository testpypi ./soma-env-x.y/src/soma/soma-base/dist/*` |
| 84 | + - [ ] `./soma-env-x.y/bin/bv python -m twine upload --repository testpypi ./soma-env-x.y/src/populse/populse-db/dist/*` |
| 85 | + - [ ] `./soma-env-x.y/bin/bv python -m twine upload --repository testpypi ./soma-env-x.y/src/capsul/dist/*` |
| 86 | + |
| 87 | +- [ ] Create a virtualenv test environment and test packages install: |
| 88 | + - [ ] `mkdir -p /tmp/brainvisa-x.y/testenv && python3 -m venv /tmp/brainvisa-x.y/testenv` |
| 89 | + - [ ] `/tmp/brainvisa-x.y/testenv/bin/python -m pip install --index-url https://test.pypi.org/simple/ soma-workflow` |
| 90 | + - [ ] `/tmp/brainvisa-x.y/testenv/bin/python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple soma-base` |
| 91 | + - [ ] `/tmp/brainvisa-x.y/testenv/bin/python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple populse-db` |
| 92 | + - [ ] `/tmp/brainvisa-x.y/testenv/bin/python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple capsul` |
| 93 | + |
| 94 | +- [ ] Publish them to `pypi.org` |
| 95 | + - [ ] `./soma-env-x.y/bin/bv python -m twine upload ./soma-env-x.y/src/soma/soma-workflow/dist/*` |
| 96 | + - [ ] `./soma-env-x.y/bin/bv python -m twine upload ./soma-env-x.y/src/soma/soma-base/dist/*` |
| 97 | + - [ ] `./soma-env-x.y/bin/bv python -m twine upload ./soma-env-x.y/src/populse/populse-db/dist/*` |
| 98 | + - [ ] `./soma-env-x.y/bin/bv python -m twine upload ./soma-env-x.y/capsul/dist/*` |
0 commit comments