Skip to content

Commit

Permalink
Prepare for the release
Browse files Browse the repository at this point in the history
  • Loading branch information
oleg-alexandrov committed Jun 19, 2024
1 parent 6db5290 commit 9039c7b
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 54 deletions.
12 changes: 4 additions & 8 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,10 @@ mission planning, and public outreach.
Installation
============

Precompiled binaries are available for the stable releases and the
current development build.

Precompiled binaries (Linux and macOS)
--------------------------------------

Simply download the appropriate distribution for your operating
system, extract, and run the executables in the ``bin`` subdirectory.
Precompiled binaries (for Linux and macOS) are available for the stable releases
and the current development build. Simply download the appropriate distribution
for your operating system, extract, and run the executables in the ``bin``
subdirectory.

- `Stable releases, daily builds, and conda packages
<https://stereopipeline.readthedocs.io/en/latest/installation.html>`_
Expand Down
1 change: 1 addition & 0 deletions cmake/Utilities.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ function(find_external_library name search_folder inc_subfolder libNameList requ
endforeach()

set(${INC_NAME} ${search_folder}/include/${inc_subfolder})
string(REGEX REPLACE "/$" "" ${INC_NAME} ${${INC_NAME}}) # rm trailing /
else()
# TODO: Provide effective findX.cmake files to handle these.
find_package(${name} REQUIRED)
Expand Down
83 changes: 39 additions & 44 deletions docs/building_asp.rst
Original file line number Diff line number Diff line change
Expand Up @@ -538,35 +538,60 @@ Run in ``BinaryBuilder`` the command::
--asp-deps-dir $HOME/miniconda3/envs/asp_deps \
--python-env $HOME/miniconda3/envs/python_isis8

The same command can be used to package the ``asp`` conda environment created
earlier. Then, one should use instead of ``build_asp/install`` the directory
``$HOME/miniconda3/envs/asp``. The dependencies will still come from
``$HOME/miniconda3/envs/asp_deps``.

Building and packaging should be done separately for Linux and OSX.

Test ASP
~~~~~~~~

The script ``auto_build/launch_master.sh`` in ``BinaryBuilder`` can be invoked
to build and test ASP. This script and also ``auto_build/utils.sh`` need to be
read carefully and some variables adjusted.

The `StereoPipeline test suite
<https://github.com/NeoGeographyToolkit/StereoPipelineTest>`_ is run. It has
comprehensive tests for the ASP tools.

This functionality creates the daily builds, which are then
uploaded to the GitHub release page (:numref:`precompiled_binaries`).

Push the release to GitHub
~~~~~~~~~~~~~~~~~~~~~~~~~~

Create a release on `GitHub
<https://github.com/NeoGeographyToolkit/StereoPipeline/releases>`_. Use the tag
for the current release. Upload the binaries (for Linux and OSX,
:numref:`build_binaries`) and pdf documentation (asp_book.pdf,
:numref:`build_asp_doc`). Add to the release notes a link to the appropriate
NEWS section of the documentation (:numref:`news`). *Only after all this save
for the current release. Add to the release notes a link to the appropriate
NEWS section of the documentation (:numref:`news`). *Only after this save
the release.*

*Do not delete and recreate the release* (:numref:`zenodo`). It is fine to
upload the binaries after a release is created, and delete and re-upload them.

The GitHub tool ``gh`` can be used to push the binaries to the release.
Here's an example usage::

cd BinaryBuilder
for file in StereoPipeline-3.4.0-Linux.tar.bz2 \
StereoPipeline-3.4.0-OSX.tar.bz2; do
gh release upload 3.4.0 $file \
-R git@github.com:NeoGeographyToolkit/StereoPipeline.git
done

Alternatively, these can be uploaded manually.

.. _zenodo:

Zenodo link for the release
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Saving the release will trigger creating the Zenodo permanent link. That link
Creating a release will trigger producing the Zenodo permanent link. That link
cannot be changed, and the text it copies from the release notes cannot be
changed either.

It is very important to create the release just once for the given tag. Otherwise,
the Zenodo link will be messed up. It is fine to later overwrite the binaries
for this release, or even to upload them later. Just do not delete and recreate
the release.
It is very important to *create the release just once for the given tag*.
Otherwise, the Zenodo permanent link will always point to the earliest attempt
at making the release. It is fine to later overwrite the binaries for this
release, or even to upload them later. Just do not delete and recreate the
release page itself.

Do not just rename the latest automatically uploaded daily build, as that will
create an incorrect Zenodo link.
Expand All @@ -584,36 +609,6 @@ Push this update to GitHub. The new commit will be after the tag for the
release, but that is not an issue. It is best to not change the tag after
the release and Zenodo link got created.

Updating the release from the command line
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The GitHub tool ``gh`` can be used to push files to a release.
Here's an example usage::

cd BinaryBuilder
for file in StereoPipeline-3.4.0-Linux.tar.bz2 \
StereoPipeline-3.4.0-OSX.tar.bz2 \
asp_book.pdf; do
gh release upload 3.4.0 $file \
-R git@github.com:NeoGeographyToolkit/StereoPipeline.git
done

As before, do not delete and recreate the release, but it is fine
to delete and re-upload the binaries and documentation.

Test ASP
~~~~~~~~

The script ``auto_build/launch_master.sh`` in ``BinaryBuilder`` can be used to
build and test ASP. This script and also ``auto_build/utils.sh`` need to be read
carefully and some variables adjusted.

The `StereoPipeline test suite <https://github.com/NeoGeographyToolkit/StereoPipelineTest>`_ has scripts that comprehensively test the ASP tools.

This infrastructure is used to create the daily builds. If all tests pass, the
builds are uploaded to the GitHub release page
(:numref:`precompiled_binaries`).

Announce the release
~~~~~~~~~~~~~~~~~~~~

Expand Down
4 changes: 2 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ project (StereoPipeline)

# The line below is used by the docs/ so don't change it
# without testing the result. Versioning is based on https://semver.org
#set(PACKAGE_VERSION "3.3.0")
set(PACKAGE_VERSION "3.4.0-alpha")
set(PACKAGE_VERSION "3.4.0")
#set(PACKAGE_VERSION "3.5.0-alpha")
set(PACKAGE_NAME "NASA Ames Stereo Pipeline")
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
set(PACKAGE_BUGREPORT "oleg.alexandrov@nasa.gov, scott.t.mcmichael@nasa.gov")
Expand Down

0 comments on commit 9039c7b

Please sign in to comment.