script/ci library functions