From 8a094bb0481a9c53646cc15db2e8acecafc3d10c Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Thu, 23 Aug 2018 22:29:35 +0300 Subject: Add basic support for CI request handling --- brep/handler/ci/ci.bash.in | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 brep/handler/ci/ci.bash.in (limited to 'brep/handler/ci/ci.bash.in') diff --git a/brep/handler/ci/ci.bash.in b/brep/handler/ci/ci.bash.in new file mode 100644 index 0000000..023e98e --- /dev/null +++ b/brep/handler/ci/ci.bash.in @@ -0,0 +1,41 @@ +# file : brep/handler/ci/ci.bash.in +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +# Utility functions useful for implementing CI request handlers. + +if [ "$brep_handler_ci" ]; then + return 0 +else + brep_handler_ci=true +fi + +@import brep/handler/handler@ + +# Serialize the CI result manifest to stdout and exit the (sub-)shell with the +# zero status. +# +reference= # Should be assigned by the handler when becomes available. + +function exit_with_manifest () # +{ + trace_func "$@" + + local sts="$1" + local msg="$2" + + manifest_serializer_start + + manifest_serialize "" "1" # Start of manifest. + manifest_serialize "status" "$sts" + manifest_serialize "message" "$msg" + + if [ -n "$reference" ]; then + manifest_serialize "reference" "$reference" + elif [ "$sts" == "200" ]; then + error "no reference for code $sts" + fi + + manifest_serializer_finish + run exit 0 +} -- cgit v1.1