diff options
author | Joseph Hunkeler <jhunkeler@users.noreply.github.com> | 2024-08-20 10:45:28 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-20 10:45:28 -0400 |
commit | 8cc16bef9d4b8d7d9e36cd135fd6a78a8e8a38cf (patch) | |
tree | 6fc4734d87271916f021041a18dd975f4842b602 | |
parent | 0eda05963f3c70c3969ddd2aa72926b871ef4b07 (diff) | |
download | stasis-8cc16bef9d4b8d7d9e36cd135fd6a78a8e8a38cf.tar.gz |
Update mission configs (#34)
* Clean package caches (saves about 1GB of layer-space)
* Update installation instructions
* Update layout
* Use template variables where appropriate
* Instructions now provide release notes in one place
* Pandoc now uses --standalone
-rw-r--r-- | mission/generic/Dockerfile.in | 4 | ||||
-rw-r--r-- | mission/generic/readme.md.in | 63 | ||||
-rw-r--r-- | mission/hst/Dockerfile.in | 4 | ||||
-rw-r--r-- | mission/hst/readme.md.in | 77 | ||||
-rw-r--r-- | mission/jwst/Dockerfile.in | 4 | ||||
-rw-r--r-- | mission/jwst/readme.md.in | 77 | ||||
-rw-r--r-- | mission/roman/Dockerfile.in | 4 | ||||
-rw-r--r-- | mission/roman/readme.md.in | 77 | ||||
-rw-r--r-- | src/stasis_indexer.c | 4 |
9 files changed, 211 insertions, 103 deletions
diff --git a/mission/generic/Dockerfile.in b/mission/generic/Dockerfile.in index c3c826a..705ed81 100644 --- a/mission/generic/Dockerfile.in +++ b/mission/generic/Dockerfile.in @@ -72,6 +72,8 @@ RUN sed -i -e "s|@CONDA_CHANNEL@|${HOME}/packages/conda|;s|@PIP_ARGUMENTS@|--ext RUN mamba install \ git \ ${CONDA_PACKAGES} \ - && mamba env create -n linux --file ${HOME}/SNAPSHOT.yml + && mamba env create -n linux --file ${HOME}/SNAPSHOT.yml \ + && conda clean --all \ + && rm -rf ${HOME}/.cache WORKDIR ${HOME} CMD ["/bin/bash"] diff --git a/mission/generic/readme.md.in b/mission/generic/readme.md.in index 616034e..51929a3 100644 --- a/mission/generic/readme.md.in +++ b/mission/generic/readme.md.in @@ -1 +1,62 @@ -# {{ meta.name }}
\ No newline at end of file +# {{ info.release_name }} + +Conda is required to manage installation of the delivery environment. A fresh installation of {{ conda.installer_name }} is not required for each {{ meta.name }} delivery, however. An existing conda installation may be used. The method described here allows for multiple entirely separate pipeline installations. + +A POSIX-compatible shell (e.g. `bash`) is required for all steps below. Python dependencies are taken directly from PyPI or development repositories as needed, so conda's ability to install hybrid conda/pip environments from a YAML specification is used. This requires first downloading the specification file and then creating the environment with it. + +------ + +# Installing Conda + +If conda is not available on the target system, it will need to be installed and configured before the delivery environment can be installed. + +For detailed instructions of this step, please visit: +https://conda.io/projects/conda/en/latest/user-guide/install/index.html + +**{{ conda.installer_name }}:** + +``` +wget {{ conda.installer_baseurl }}/{{ conda.installer_name }}-{{ conda.installer_version }}-{{ conda.installer_platform }}-{{ conda.installer_arch }}.sh +bash {{ conda.installer_name }}-{{ conda.installer_version }}-{{ conda.installer_platform }}-{{ conda.installer_arch }}.sh +$HOME/{{ conda.installer_name }}/condabin/conda init +``` + +# Installing {{ meta.name }} + +## Option 1: Install this delivery + +``` +conda env create \ + --file https://ssb.stsci.edu/stasis/releases/{{ meta.mission }}/{{ info.build_name }}/delivery/{{ info.release_name }}.yml +``` + +### Activate this delivery + +``` +conda activate {{ info.release_name }} +``` + +## Option 2: Install the latest delivery + +**Warning:** The `latest` URL may provide software different than what is presented by the release notes section below! + +``` +conda env create \ + --name {{ meta.name }}-latest-py{{ meta.python_compat }} \ + --file https://ssb.stsci.edu/stasis/releases/{{ meta.mission }}/{{ info.build_name }}/delivery/latest-py{{ meta.python_compact }}-{{ system.platform }}-{{ system.arch }}.yml +``` +### Activate the latest delivery + +``` +conda activate {{ meta.name }}-latest-py{{ meta.python_compat }} +``` + +------ + +Each new delivery iteration will need to be installed using one of the above commands. + +------ + +# Software Release Notes + +{{ func:get_github_release_notes_auto() }} diff --git a/mission/hst/Dockerfile.in b/mission/hst/Dockerfile.in index c3c826a..705ed81 100644 --- a/mission/hst/Dockerfile.in +++ b/mission/hst/Dockerfile.in @@ -72,6 +72,8 @@ RUN sed -i -e "s|@CONDA_CHANNEL@|${HOME}/packages/conda|;s|@PIP_ARGUMENTS@|--ext RUN mamba install \ git \ ${CONDA_PACKAGES} \ - && mamba env create -n linux --file ${HOME}/SNAPSHOT.yml + && mamba env create -n linux --file ${HOME}/SNAPSHOT.yml \ + && conda clean --all \ + && rm -rf ${HOME}/.cache WORKDIR ${HOME} CMD ["/bin/bash"] diff --git a/mission/hst/readme.md.in b/mission/hst/readme.md.in index 1608904..51929a3 100644 --- a/mission/hst/readme.md.in +++ b/mission/hst/readme.md.in @@ -1,49 +1,62 @@ -# {{meta.name}} {{meta.version}} +# {{ info.release_name }} -Currently, conda is required to manage installation of the environment. -A fresh installation of Anaconda3 or Miniconda3 is not required for -each {{meta.name}} release, however. An existing conda installation may be -used. The method described here allows for multiple, entirely segregated, -pipeline installations. +Conda is required to manage installation of the delivery environment. A fresh installation of {{ conda.installer_name }} is not required for each {{ meta.name }} delivery, however. An existing conda installation may be used. The method described here allows for multiple entirely separate pipeline installations. -A `bash`-compatible shell is required for all steps below. Python -dependencies are taken directly from PyPI or development repositories as -needed, so conda's ability to install hybrid conda/pip environments from a -YAML specification is used. This requires first downloading the -specification file and then creating the environment with it. +A POSIX-compatible shell (e.g. `bash`) is required for all steps below. Python dependencies are taken directly from PyPI or development repositories as needed, so conda's ability to install hybrid conda/pip environments from a YAML specification is used. This requires first downloading the specification file and then creating the environment with it. -## For existing conda installations: +------ + +# Installing Conda + +If conda is not available on the target system, it will need to be installed and configured before the delivery environment can be installed. + +For detailed instructions of this step, please visit: +https://conda.io/projects/conda/en/latest/user-guide/install/index.html + +**{{ conda.installer_name }}:** -### Install the pipeline environment ``` -$ curl -O https://ssb.stsci.edu/releases/{{meta.name}}/{{meta.version}}/latest-linux.yml -$ conda env create --file latest-linux.yml +wget {{ conda.installer_baseurl }}/{{ conda.installer_name }}-{{ conda.installer_version }}-{{ conda.installer_platform }}-{{ conda.installer_arch }}.sh +bash {{ conda.installer_name }}-{{ conda.installer_version }}-{{ conda.installer_platform }}-{{ conda.installer_arch }}.sh +$HOME/{{ conda.installer_name }}/condabin/conda init ``` -### Activate the pipeline environment + +# Installing {{ meta.name }} + +## Option 1: Install this delivery ``` -$ conda activate {{info.release_name}} +conda env create \ + --file https://ssb.stsci.edu/stasis/releases/{{ meta.mission }}/{{ info.build_name }}/delivery/{{ info.release_name }}.yml ``` -Each new delivery iteration of the calibration environment will need to be -installed using the above commands. +### Activate this delivery ------- +``` +conda activate {{ info.release_name }} +``` -## If conda is not yet installed +## Option 2: Install the latest delivery -If the conda tool is not available on the target system, it will need to be -installed before the calibration environment can be installed. +**Warning:** The `latest` URL may provide software different than what is presented by the release notes section below! -### Installing conda +``` +conda env create \ + --name {{ meta.name }}-latest-py{{ meta.python_compat }} \ + --file https://ssb.stsci.edu/stasis/releases/{{ meta.mission }}/{{ info.build_name }}/delivery/latest-py{{ meta.python_compact }}-{{ system.platform }}-{{ system.arch }}.yml +``` +### Activate the latest delivery -For detailed instructions of this step, please visit: -https://conda.io/projects/conda/en/latest/user-guide/install/index.html +``` +conda activate {{ meta.name }}-latest-py{{ meta.python_compat }} +``` -**Miniconda:** +------ -``` -$ wget {{conda.installer_baseurl}}/{{conda.installer_name}}-{{conda.installer_version}}-{{conda.installer_platform}}-{{conda.installer_arch}}.sh -$ bash {{conda.installer_name}}-{{conda.installer_version}}-{{conda.installer_platform}}-{{conda.installer_arch}}.sh -$ $HOME/{{conda.installer_name}}/condabin/conda init -```
\ No newline at end of file +Each new delivery iteration will need to be installed using one of the above commands. + +------ + +# Software Release Notes + +{{ func:get_github_release_notes_auto() }} diff --git a/mission/jwst/Dockerfile.in b/mission/jwst/Dockerfile.in index c3c826a..705ed81 100644 --- a/mission/jwst/Dockerfile.in +++ b/mission/jwst/Dockerfile.in @@ -72,6 +72,8 @@ RUN sed -i -e "s|@CONDA_CHANNEL@|${HOME}/packages/conda|;s|@PIP_ARGUMENTS@|--ext RUN mamba install \ git \ ${CONDA_PACKAGES} \ - && mamba env create -n linux --file ${HOME}/SNAPSHOT.yml + && mamba env create -n linux --file ${HOME}/SNAPSHOT.yml \ + && conda clean --all \ + && rm -rf ${HOME}/.cache WORKDIR ${HOME} CMD ["/bin/bash"] diff --git a/mission/jwst/readme.md.in b/mission/jwst/readme.md.in index 79fcb55..51929a3 100644 --- a/mission/jwst/readme.md.in +++ b/mission/jwst/readme.md.in @@ -1,49 +1,62 @@ -# {{meta.name}} {{meta.version}} +# {{ info.release_name }} -Currently, conda is required to manage installation of the environment. -A fresh installation of Anaconda3 or Miniconda3 is not required for -each {{meta.name}} release, however. An existing conda installation may be -used. The method described here allows for multiple, entirely segregated, -pipeline installations. +Conda is required to manage installation of the delivery environment. A fresh installation of {{ conda.installer_name }} is not required for each {{ meta.name }} delivery, however. An existing conda installation may be used. The method described here allows for multiple entirely separate pipeline installations. -A `bash`-compatible shell is required for all steps below. Python -dependencies are taken directly from PyPI or development repositories as -needed, so conda's ability to install hybrid conda/pip environments from a -YAML specification is used. This requires first downloading the -specification file and then creating the environment with it. +A POSIX-compatible shell (e.g. `bash`) is required for all steps below. Python dependencies are taken directly from PyPI or development repositories as needed, so conda's ability to install hybrid conda/pip environments from a YAML specification is used. This requires first downloading the specification file and then creating the environment with it. -## For existing conda installations: +------ + +# Installing Conda + +If conda is not available on the target system, it will need to be installed and configured before the delivery environment can be installed. + +For detailed instructions of this step, please visit: +https://conda.io/projects/conda/en/latest/user-guide/install/index.html + +**{{ conda.installer_name }}:** -### Install the pipeline environment ``` -$ curl -O https://ssb.stsci.edu/releases/{{meta.name}}/{{meta.version}}/{{info.release_name}}.yml -$ conda env create --file {{info.release_name}}.yml +wget {{ conda.installer_baseurl }}/{{ conda.installer_name }}-{{ conda.installer_version }}-{{ conda.installer_platform }}-{{ conda.installer_arch }}.sh +bash {{ conda.installer_name }}-{{ conda.installer_version }}-{{ conda.installer_platform }}-{{ conda.installer_arch }}.sh +$HOME/{{ conda.installer_name }}/condabin/conda init ``` -### Activate the pipeline environment + +# Installing {{ meta.name }} + +## Option 1: Install this delivery ``` -$ conda activate {{info.release_name}} +conda env create \ + --file https://ssb.stsci.edu/stasis/releases/{{ meta.mission }}/{{ info.build_name }}/delivery/{{ info.release_name }}.yml ``` -Each new delivery iteration of the calibration environment will need to be -installed using the above commands. +### Activate this delivery ------- +``` +conda activate {{ info.release_name }} +``` -## If conda is not yet installed +## Option 2: Install the latest delivery -If the conda tool is not available on the target system, it will need to be -installed before the calibration environment can be installed. +**Warning:** The `latest` URL may provide software different than what is presented by the release notes section below! -### Installing conda +``` +conda env create \ + --name {{ meta.name }}-latest-py{{ meta.python_compat }} \ + --file https://ssb.stsci.edu/stasis/releases/{{ meta.mission }}/{{ info.build_name }}/delivery/latest-py{{ meta.python_compact }}-{{ system.platform }}-{{ system.arch }}.yml +``` +### Activate the latest delivery -For detailed instructions of this step, please visit: -https://conda.io/projects/conda/en/latest/user-guide/install/index.html +``` +conda activate {{ meta.name }}-latest-py{{ meta.python_compat }} +``` -**Miniconda:** +------ -``` -$ wget {{conda.installer_baseurl}}/{{conda.installer_name}}-{{conda.installer_version}}-{{conda.installer_platform}}-{{conda.installer_arch}}.sh -$ bash {{conda.installer_name}}-{{conda.installer_version}}-{{conda.installer_platform}}-{{conda.installer_arch}}.sh -$ $HOME/{{conda.installer_name}}/condabin/conda init -```
\ No newline at end of file +Each new delivery iteration will need to be installed using one of the above commands. + +------ + +# Software Release Notes + +{{ func:get_github_release_notes_auto() }} diff --git a/mission/roman/Dockerfile.in b/mission/roman/Dockerfile.in index c3c826a..705ed81 100644 --- a/mission/roman/Dockerfile.in +++ b/mission/roman/Dockerfile.in @@ -72,6 +72,8 @@ RUN sed -i -e "s|@CONDA_CHANNEL@|${HOME}/packages/conda|;s|@PIP_ARGUMENTS@|--ext RUN mamba install \ git \ ${CONDA_PACKAGES} \ - && mamba env create -n linux --file ${HOME}/SNAPSHOT.yml + && mamba env create -n linux --file ${HOME}/SNAPSHOT.yml \ + && conda clean --all \ + && rm -rf ${HOME}/.cache WORKDIR ${HOME} CMD ["/bin/bash"] diff --git a/mission/roman/readme.md.in b/mission/roman/readme.md.in index 1608904..51929a3 100644 --- a/mission/roman/readme.md.in +++ b/mission/roman/readme.md.in @@ -1,49 +1,62 @@ -# {{meta.name}} {{meta.version}} +# {{ info.release_name }} -Currently, conda is required to manage installation of the environment. -A fresh installation of Anaconda3 or Miniconda3 is not required for -each {{meta.name}} release, however. An existing conda installation may be -used. The method described here allows for multiple, entirely segregated, -pipeline installations. +Conda is required to manage installation of the delivery environment. A fresh installation of {{ conda.installer_name }} is not required for each {{ meta.name }} delivery, however. An existing conda installation may be used. The method described here allows for multiple entirely separate pipeline installations. -A `bash`-compatible shell is required for all steps below. Python -dependencies are taken directly from PyPI or development repositories as -needed, so conda's ability to install hybrid conda/pip environments from a -YAML specification is used. This requires first downloading the -specification file and then creating the environment with it. +A POSIX-compatible shell (e.g. `bash`) is required for all steps below. Python dependencies are taken directly from PyPI or development repositories as needed, so conda's ability to install hybrid conda/pip environments from a YAML specification is used. This requires first downloading the specification file and then creating the environment with it. -## For existing conda installations: +------ + +# Installing Conda + +If conda is not available on the target system, it will need to be installed and configured before the delivery environment can be installed. + +For detailed instructions of this step, please visit: +https://conda.io/projects/conda/en/latest/user-guide/install/index.html + +**{{ conda.installer_name }}:** -### Install the pipeline environment ``` -$ curl -O https://ssb.stsci.edu/releases/{{meta.name}}/{{meta.version}}/latest-linux.yml -$ conda env create --file latest-linux.yml +wget {{ conda.installer_baseurl }}/{{ conda.installer_name }}-{{ conda.installer_version }}-{{ conda.installer_platform }}-{{ conda.installer_arch }}.sh +bash {{ conda.installer_name }}-{{ conda.installer_version }}-{{ conda.installer_platform }}-{{ conda.installer_arch }}.sh +$HOME/{{ conda.installer_name }}/condabin/conda init ``` -### Activate the pipeline environment + +# Installing {{ meta.name }} + +## Option 1: Install this delivery ``` -$ conda activate {{info.release_name}} +conda env create \ + --file https://ssb.stsci.edu/stasis/releases/{{ meta.mission }}/{{ info.build_name }}/delivery/{{ info.release_name }}.yml ``` -Each new delivery iteration of the calibration environment will need to be -installed using the above commands. +### Activate this delivery ------- +``` +conda activate {{ info.release_name }} +``` -## If conda is not yet installed +## Option 2: Install the latest delivery -If the conda tool is not available on the target system, it will need to be -installed before the calibration environment can be installed. +**Warning:** The `latest` URL may provide software different than what is presented by the release notes section below! -### Installing conda +``` +conda env create \ + --name {{ meta.name }}-latest-py{{ meta.python_compat }} \ + --file https://ssb.stsci.edu/stasis/releases/{{ meta.mission }}/{{ info.build_name }}/delivery/latest-py{{ meta.python_compact }}-{{ system.platform }}-{{ system.arch }}.yml +``` +### Activate the latest delivery -For detailed instructions of this step, please visit: -https://conda.io/projects/conda/en/latest/user-guide/install/index.html +``` +conda activate {{ meta.name }}-latest-py{{ meta.python_compat }} +``` -**Miniconda:** +------ -``` -$ wget {{conda.installer_baseurl}}/{{conda.installer_name}}-{{conda.installer_version}}-{{conda.installer_platform}}-{{conda.installer_arch}}.sh -$ bash {{conda.installer_name}}-{{conda.installer_version}}-{{conda.installer_platform}}-{{conda.installer_arch}}.sh -$ $HOME/{{conda.installer_name}}/condabin/conda init -```
\ No newline at end of file +Each new delivery iteration will need to be installed using one of the above commands. + +------ + +# Software Release Notes + +{{ func:get_github_release_notes_auto() }} diff --git a/src/stasis_indexer.c b/src/stasis_indexer.c index 7786b4d..2a3c044 100644 --- a/src/stasis_indexer.c +++ b/src/stasis_indexer.c @@ -269,10 +269,10 @@ int indexer_make_website(struct Delivery *ctx) { // Converts a markdown file to html strcpy(cmd, "pandoc "); - strcat(cmd, fullpath_src); - strcat(cmd, " "); + strcat(cmd, "--standalone "); strcat(cmd, "-o "); strcat(cmd, fullpath_dest); + strcat(cmd, fullpath_src); if (globals.verbose) { puts(cmd); } |