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
Last synced: 10 months ago · JSON representation

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
Created almost 4 years ago · Last pushed 11 months ago
Metadata Files
Readme License

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

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

CSIRO - hydroinformatics repositories

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1

Dependencies

wip/pyswift/Dockerfile docker
  • debian bullseye build
wip/pyswift/requirements-jupyter-singleserver.txt pypi
  • 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 *
packages/obsolete/Dockerfile docker
  • hydrofc/ubuntu-jammy-202310 20231025 build