https://github.com/csiro-hydroinformatics/hydro-forecast-linux-pipeline
https://github.com/csiro-hydroinformatics/hydro-forecast-linux-pipeline
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.2%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: csiro-hydroinformatics
- License: other
- Language: Shell
- Default Branch: main
- Size: 197 KB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Build pipelines for hydrologic simulation and forecasting tools - Linux

Purpose
Our streamflow forecasting software stack is quite mature and complicated. To facilitate building and packaging we need contemporary build pipeline to minimise manual steps.
This repository contains material to streamline the build, testing and possible deployment of hydrologic simulation and forecasting tools.
- Functional scope: swift and fogss, and dependencies, mostly in practice uchronia
- Management of versions of software built across many code repositories
Output artifacts
Available or potentially, we have:
- Debian packages (Beta)
- RPM packages (?)
- zip archives of prebuilt packages for windows.
- R packages (Mature)
- python packages (Beta)
- matlab functions (?)
- conda packages (Alpha - Feasibility study)
- offline and online documentation (Partial)
This build pipeline, and the ones related listed below in Related Work, are a foundation to deliver swift via the following paths
- Docker image with Jupyter-lab and the full stack available
- Pre-built binaries for windows, self contained C runtime (ms vc 2019), prebuilt R packages for windows
- Docker image for running on EASI
- Deployment on clusters
- Other
Status
Currently, it builds packages for deployment on Debian-flavored linux, with user-oriented packages for Python and R. One motivation to invest into Debian packaging was to distribute our software for Linux without needing to give access to source code. These have been re-used in projects undertaken for Digital Water and Landscape (model benchmarking).
As of 2022-03 this contains one pipeline:
- Under the subdirectory packages is a pipeline building debian packages of SWIFT2 and its dependencies.
- The pipeline uses secret pipeline variable to pass a personal access token to check out git repositories over ssh. This is a better alternative than copying ssh keys into docker containters and trying to conceal them.
Other pipelines on the roadmap or wishlist:
- building a docker image for simulation and forecasting with SWIFT2 via a Jupyter front end. This relates notably to runing on EASI with a custom image, because for instance some of the packages (ipywidgets, bqplot) are not and should not be in the default easi image (bloat).
Related work
- easi-hydro-forecast
- hydro-fc-windows-os, which may be merged with this pipeline at some point.
TODO
- Define a set of docker images with/for swift, starting with an image with debian packages ready to build from source
- Where to store? csiro docker registry but not sure if/how to access from cloud pipeline.
Contact
jean-michel.perraud@csiro.au david.robertson@csiro.au
Appendices
Testing the pipeline
```sh docker stop $(docker ps -a -q) docker rm $(docker ps -a -q)
CAUTION with below
docker rmi --force $(docker images -q) ```
```sh cd ${HOME}/src/hydro-fc-packaging/packages rootoutdir=${HOME}/tmp/nixpipeline mkdir -p ${rootout_dir}
. ${HOME}/credentials/secrets/azpat export BRANCHNAMEENVVAR=main
./build-packages.sh ${rootoutdir} ls ${rootoutdir} ```
Owner
- Name: CSIRO Hydroinformatics
- Login: csiro-hydroinformatics
- Kind: organization
- Repositories: 11
- Profile: https://github.com/csiro-hydroinformatics
CSIRO - hydroinformatics repositories
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1
Dependencies
- debian bullseye build
- autopep8 *
- black *
- ipycanvas *
- ipyevents *
- ipykernel *
- ipyleaflet *
- ipympl *
- ipython *
- ipywidgets *
- isort *
- jupyter-client *
- jupyter-contrib-core *
- jupyter-contrib-nbextensions *
- jupyter-nbextensions-configurator *
- jupyter-ui-poll *
- jupyter-vscode-proxy *
- jupyter_bokeh *
- jupyterhub *
- jupyterlab *
- jupyterlab-geojson *
- jupyterlab-git *
- jupyterlab_code_formatter *
- jupyterlab_iframe *
- line_profiler *
- mypy *
- nbdime *
- nbformat *
- nbgitpuller *
- nbresuse *
- nbval *
- notebook *
- rope *
- setuptools *
- sidecar *
- streamlit *
- virtualenv *
- wheel *
- yapf *
- hydrofc/ubuntu-jammy-202310 20231025 build