[x] Install the image
mkdir -p /tmp/test-brainvisa-5.1.2;apptainer run -ce --bind /tmp/test-brainvisa-5.1.2:/casa/setup /volatile/a-sac-ns-brainvisa/bbi-nightly/brainvisa-5.1.2.sif
[x] Use it to run AimsFileInfo, anatomist, brainvisa
[x] Publish the image on the BrainVISA web site
casa_distro_admin publish_user_image image=brainvisa-5.1.2.sif
ova image for the brainvisa distro
[x] Create the image with ./brainvisa-5.1-5.3/bin/casa_distro_admin create_user_image version=5.1.2 install=no container_type=vbox base_image=casa-run-5.3.ova environment_name=brainvisa-5.1-5.3
[x] Verify that the image works
[x] Install the image
[x] Use it to run AimsFileInfo, anatomist, brainvisa
[x] Publish the image on the BrainVISA web site
sif image for the cea distro
[x] Create the image with:
export CASA_BASE_DIRECTORY=/volatile/a-sac-ns-brainvisa/bbi_nightlyexport TMPDIR=/volatile/tmp/a-sac-ns-brainvisa./cea-5.1-5.3/bin/casa_distro_admin create_user_image version=5.1.2 name=brainvisa-cea-5.1.2 container_type=singularity distro=cea image_version=5.3 branch=5.1 install_thirdparty=file:///neurospin/brainvisa/thirdparty/thirdparty.json (beware to name the image brainvisa-cea- and not just cea-)
~ova image for the cea distro~ we will only do these images if users request them
[x] ~Create the image with ./cea-5.1-5.3/bin/casa_distro_admin create_user_image name=brainvisa-cea version=5.1.2 base_directory=/volatile/a-sac-ns-brainvisa/bbi_nightly install=no container_type=vbox base_image=casa-run-5.3.ova environment_name=cea-5.1-5.3 (beware to name the image brainvisa-cea- and not just cea-)~
[x] Edit the website to announce the new release
[x] web project sources
[x] log on the web server, rebuild the web site in the casa-distro installed there: ssh web, then in the server:
[x] web_build/bin/bv bv_maker
[x] publish the web site using the publish script: ./web-build/src/communication/web/5.1/scripts/bv_publish_web /var/www/html/brainvisa.info
[x] Deploy the cea release:
[x] Copy brainvisa-cea-*.sif and the associated .json into /drf/brainvisa and set their permissions (chmod 444)
[x] Create a new directory /drf/brainvisa/brainvisa-cea-5.1.2 and install the Singularity release in there
mkdir -p /drf/brainvisa/test-brainvisa-5.1.2;apptainer run -ce --bind /drf/brainvisa/brainvisa-5.1.2:/casa/setup /drf/brainvisa/brainvisa-5.1.2.sif
[x] Remove the home directory to enable per-user home: rm -r /drf/brainvisa/brainvisa-cea-5.1.2/home/
[x] Verify that the deployment works (use it to launch AimsFileInfo --info, anatomist, brainvisa...)
for __f in $(find /casa/install/share/ -type f -name '*.ima'); do AimsFileInfo -v -i "${__f}"; doneanatomist $(find /casa/install/share/ -type f -name '*.nii')brainvisa
[x] Make it the default version: ln -sfT brainvisa-cea-5.1.2/ /drf/brainvisa/brainvisa and ln -sfT brainvisa-cea-5.1.2/ /drf/brainvisa/brainvisa-5.1
[x] ~Copy brainvisa-cea-*.ova and the associated .json into /drf/brainvisa and set their permissions (chmod 444)~
[x] ~Install the ova on a non-Linux machine and verify that it works (use it to launch AimsFileInfo --info, anatomist, brainvisa...)~
[x] Build pip packages for the python projects soma-workflow, soma-base, populse_db and capsul which are distributed in pip:
Release check-list
[x] Check that all projects have the correct version in their sources:
bv_tag_release --fix-source-version-numbers
[x] ~If needed, fix project versions in their sources:
GIT_AUTHOR_NAME='<author_name>' GIT_COMMITTER_NAME='<committer_name>' GIT_AUTHOR_EMAIL='<author_email>' GIT_COMMITTER_EMAIL='<committer_email>' bv_tag_release --fix-source-version-numbers --really-do-it
~[x] Check that tests are successful on https://brainvisa.info/builds/
sqlite3.OperationalError: no such table: db_version
)[x] Update changelogs and the list of known issues
[x] Run a last build to update the changelogs
bv_maker sources doc
in thebrainvisa
distrobv_maker sources doc
in thecea
distro[x] Create, test, and publish/deploy the images
sif
image for thebrainvisa
distro[x] Create the image with:
export CASA_BASE_DIRECTORY=/volatile/a-sac-ns-brainvisa/bbi-nightly
export TMPDIR=/volatile/tmp
./brainvisa-5.1-5.3/bin/casa_distro_admin create_user_image version=5.1.2 container_type=singularity distro=brainvisa image_version=5.3 branch=5.1 install_thirdparty=file:///neurospin/brainvisa/thirdparty/thirdparty.json
[x] Verify that the image works
mkdir -p /tmp/test-brainvisa-5.1.2;apptainer run -ce --bind /tmp/test-brainvisa-5.1.2:/casa/setup /volatile/a-sac-ns-brainvisa/bbi-nightly/brainvisa-5.1.2.sif
AimsFileInfo
,anatomist
,brainvisa
[x] Publish the image on the BrainVISA web site
casa_distro_admin publish_user_image image=brainvisa-5.1.2.sif
ova
image for thebrainvisa
distro[x] Create the image with
./brainvisa-5.1-5.3/bin/casa_distro_admin create_user_image version=5.1.2 install=no container_type=vbox base_image=casa-run-5.3.ova environment_name=brainvisa-5.1-5.3
[x] Verify that the image works
AimsFileInfo
,anatomist
,brainvisa
[x] Publish the image on the BrainVISA web site
sif
image for thecea
distro[x] Create the image with:
export CASA_BASE_DIRECTORY=/volatile/a-sac-ns-brainvisa/bbi_nightly
export TMPDIR=/volatile/tmp/a-sac-ns-brainvisa
./cea-5.1-5.3/bin/casa_distro_admin create_user_image version=5.1.2 name=brainvisa-cea-5.1.2 container_type=singularity distro=cea image_version=5.3 branch=5.1 install_thirdparty=file:///neurospin/brainvisa/thirdparty/thirdparty.json
(beware to name the image brainvisa-cea- and not just cea-)~
ova
image for thecea
distro~ we will only do these images if users request them[x] ~Create the image with
./cea-5.1-5.3/bin/casa_distro_admin create_user_image name=brainvisa-cea version=5.1.2 base_directory=/volatile/a-sac-ns-brainvisa/bbi_nightly install=no container_type=vbox base_image=casa-run-5.3.ova environment_name=cea-5.1-5.3
(beware to name the imagebrainvisa-cea-
and not justcea-
)~[x] Edit the website to announce the new release
ssh web
, then in the server:web_build/bin/bv bv_maker
./web-build/src/communication/web/5.1/scripts/bv_publish_web /var/www/html/brainvisa.info
[x] Deploy the
cea
release:brainvisa-cea-*.sif
and the associated.json
into/drf/brainvisa
and set their permissions (chmod 444
)/drf/brainvisa/brainvisa-cea-5.1.2
and install the Singularity release in theremkdir -p /drf/brainvisa/test-brainvisa-5.1.2;apptainer run -ce --bind /drf/brainvisa/brainvisa-5.1.2:/casa/setup /drf/brainvisa/brainvisa-5.1.2.sif
rm -r /drf/brainvisa/brainvisa-cea-5.1.2/home/
AimsFileInfo --info
,anatomist
,brainvisa
...)for __f in $(find /casa/install/share/ -type f -name '*.ima'); do AimsFileInfo -v -i "${__f}"; done
anatomist $(find /casa/install/share/ -type f -name '*.nii')
brainvisa
ln -sfT brainvisa-cea-5.1.2/ /drf/brainvisa/brainvisa
andln -sfT brainvisa-cea-5.1.2/ /drf/brainvisa/brainvisa-5.1
brainvisa-cea-*.ova
and the associated.json
into/drf/brainvisa
and set their permissions (chmod 444
)~ova
on a non-Linux machine and verify that it works (use it to launchAimsFileInfo --info
,anatomist
,brainvisa
...)~[x] Build pip packages for the python projects soma-workflow, soma-base, populse_db and capsul which are distributed in pip:
./brainvisa-5.1-5.3/bin/bv python3 -m build /casa/host/src/soma/soma-workflow/5.1
./brainvisa-5.1-5.3/bin/bv python3 -m build /casa/host/src/soma/soma-base/5.1
./brainvisa-5.1-5.3/bin/bv python3 -m build /casa/host/src/populse/populse_db/5.1
./brainvisa-5.1-5.3/bin/bv python3 -m build /casa/host/src/capsul/5.1
[x] Publish them to
test.pypi.org
./brainvisa-5.1-5.3/bin/bv python3 -m twine upload --repository testpypi /casa/host/src/soma/soma-workflow/5.1/dist/*
./brainvisa-5.1-5.3/bin/bv python3 -m twine upload --repository testpypi /casa/host/src/soma/soma-base/5.1/dist/*
./brainvisa-5.1-5.3/bin/bv python3 -m twine upload --repository testpypi /casa/host/src/populse/populse-db/5.1/dist/*
./brainvisa-5.1-5.3/bin/bv python3 -m twine upload --repository testpypi /casa/host/src/capsul/5.1/dist/*
[x] Create a virtualenv test environment and test packages install:
mkdir -p /tmp/brainvisa-5.1.2/testenv && python3 -m venv /tmp/brainvisa-5.1.2/testenv
/tmp/brainvisa-5.1.2/testenv/bin/python3 -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple soma-workflow
/tmp/brainvisa-5.1.2/testenv/bin/python3 -m pip install --index-url https://test.pypi.org/simple/ soma-base
/tmp/brainvisa-5.1.2/testenv/bin/python3 -m pip install --index-url https://test.pypi.org/simple/ populse-db
/tmp/brainvisa-5.1.2/testenv/bin/python3 -m pip install --index-url https://test.pypi.org/simple/ capsul
[x] Publish them to
pypi.org
./brainvisa-5.1-5.3/bin/bv python3 -m twine upload /casa/host/src/soma/soma-workflow/5.1/dist/*
./brainvisa-5.1-5.3/bin/bv python3 -m twine upload /casa/host/src/soma/soma-base/5.1/dist/*
./brainvisa-5.1-5.3/bin/bv python3 -m twine upload /casa/host/src/populse/populse-db/5.1/dist/*
./brainvisa-5.1-5.3/bin/bv python3 -m twine upload /casa/host/src/capsul/5.1/dist/*
[x] Create tags with
bv_tag_release
[x] Open a new GitHub issue for known issues
[x] Close the old GitHub known issues
[x] Make an announcement on the GitHub discussions
[x] If the releases has significant new features, announce it on the mailing list