aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@users.noreply.github.com>2024-08-20 10:45:28 -0400
committerGitHub <noreply@github.com>2024-08-20 10:45:28 -0400
commit8cc16bef9d4b8d7d9e36cd135fd6a78a8e8a38cf (patch)
tree6fc4734d87271916f021041a18dd975f4842b602
parent0eda05963f3c70c3969ddd2aa72926b871ef4b07 (diff)
downloadstasis-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.in4
-rw-r--r--mission/generic/readme.md.in63
-rw-r--r--mission/hst/Dockerfile.in4
-rw-r--r--mission/hst/readme.md.in77
-rw-r--r--mission/jwst/Dockerfile.in4
-rw-r--r--mission/jwst/readme.md.in77
-rw-r--r--mission/roman/Dockerfile.in4
-rw-r--r--mission/roman/readme.md.in77
-rw-r--r--src/stasis_indexer.c4
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);
}