Skip to content
Snippets Groups Projects
gen_ci_config 1.79 KiB
Newer Older
#!/bin/bash
set -o nounset
set -o errexit

CI_TAG=sodium
BENCHMARK_SCRIPT_DIR=.
CI_JOB_PREFIX=cal_test_

function print_the_help {
  echo "USAGE: $0 [-t <runner_tag>] "
  echo "  OPTIONS: "
  echo "            -i,--input         Input scripts directory "
  echo "            -t,--tag           Gitlab Runner tag"
  echo "            -p,--prefix        job name prefix"
  exit 
}

POSITIONAL=()
while [[ $# -gt 0 ]]
do
  key="$1"
  case $key in
    -h|--help)
      shift # past argument
      print_the_help
      ;;
    -i|--input)
      BENCHMARK_SCRIPT_DIR="$2"
      shift # past argument
      shift # past value
      ;;
    -t|--tag)
      CI_TAG="$2"
      shift # past argument
      shift # past value
      ;;
    -p|--prefix)
      CI_JOB_PREFIX="$2"
      shift # past argument
      shift # past value
      ;;
    *)    # unknown option
      #POSITIONAL+=("$1") # save it in an array for later
      echo "unknown option $1"
      print_the_help
      shift # past argument
      ;;
  esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters

shopt -s nullglob
ifile=0


cat <<EOF 
stages:
  #- simulate
  - benchmarks
for script_name in ${BENCHMARK_SCRIPT_DIR}/*.sh
do
  filename=$(basename ${script_name})
  filename_noext="${filename%%.*}"
  ifile=$((ifile+1))
  cat <<EOF 
${CI_JOB_PREFIX}${ifile}_${filename_noext}:
  stage: benchmarks
  script:
    - bash ${script_name}
  artifact:
    paths: 
      - results/
  allow_failure: true

EOF
done

for script_name in ${BENCHMARK_SCRIPT_DIR}/*.cxx
do
  filename=$(basename ${script_name})
  filename_noext="${filename%%.*}"
  ifile=$((ifile+1))
  cat <<EOF 
${CI_JOB_PREFIX}${ifile}_${filename_noext}:
  stage: benchmarks
  script:
    - root -b -q ${script_name}
  artifact:
    paths: 
      - results/
  allow_failure: true

EOF
done