/*
 * -------------------------------------------------
 *  Nextflow config file for running tests
 * -------------------------------------------------
 * Defines the base computing resources used across all CI tests (primarily the
 * time limit)
 */


process {

  withLabel:'sc_tiny'{
      cpus = { check_max( 1, 'cpus' ) }
      memory = { check_max( 1.GB * task.attempt, 'memory' ) }
      time = { check_max( 10.m * task.attempt, 'time' ) }
  }

  withLabel:'sc_small'{
      cpus = { check_max( 1, 'cpus' ) }
      memory = { check_max( 4.GB * task.attempt, 'memory' ) }
      time = { check_max( 10.m * task.attempt, 'time' ) }
  }

  withLabel:'sc_medium'{
      cpus = { check_max( 1, 'cpus' ) }
      memory = { check_max( 8.GB * task.attempt, 'memory' ) }
      time = { check_max( 10.m * task.attempt, 'time' ) }
  }

  withLabel:'mc_small'{
      cpus = { check_max( 2 * task.attempt, 'cpus' ) }
      memory = { check_max( 4.GB * task.attempt, 'memory' ) }
      time = { check_max( 10.m * task.attempt, 'time' ) }
  }

  withLabel:'mc_medium' {
      cpus = { check_max( 4 * task.attempt, 'cpus' ) }
      memory = { check_max( 8.GB * task.attempt, 'memory' ) }
      time = { check_max( 10.m * task.attempt, 'time' ) }
  }

  withLabel:'mc_large'{
      cpus = { check_max( 8 * task.attempt, 'cpus' ) }
      memory = { check_max( 16.GB * task.attempt, 'memory' ) }
      time = { check_max( 10.m * task.attempt, 'time' ) }
  }

  withLabel:'mc_huge'{
      cpus = { check_max( 32 * task.attempt, 'cpus' ) }
      memory = { check_max( 256.GB * task.attempt, 'memory' ) }
      time = { check_max( 10.m * task.attempt, 'time' ) }
  }

  withName:'mapdamage_rescaling'{
      time = { check_max( 20.m * task.attempt, 'time' ) }
  }

}