# Common CI/CD routines re-used in [CC Workflows](https://gitlab.astro.unige.ch/integral/cc-workflows)
It makes use of wrappers developed by VS and of INTEGRAL docker containers, which are [publicly available](https://hub.docker.com/repository/docker/integralsw/).
The workflows are mostly of INTEGRAL docker containers, which are [publicly available](https://hub.docker.com/orgs/integralsw).
# In the Makefile:
## Makefile:
Everybody likes to type "make". Also the make's target completing tracking is great and is a progenitor of similar techniques in other workflow mangment systems. But Makefile systax is another level of quoting hell, so all processes are actually described in [make-functions.sh](make-functions.sh)
In general, for every "make XXX" there is an "XXX" bash function in [make-functions.sh](make-functions.sh).
## make-functions.sh
-*build* build the container, if needed
-*run-one* runs notebook, using [oda evaluation](https://github.com/cdcihub/oda-kb).
## image
integralsw/osa-python is the *base* docker image
for details on the nb2workflow functions see directly https://github.com/volodymyrss/nb2workflow
## nb2workflow
[nb2workflow](https://github.com/volodymyrss/nb2workflow) adapts notebooks as workflows, either [CWL](https://www.commonwl.org/) jobs or [OpenAPI](https://swagger.io/specification/) services.