github.com/secure-build/gitlab-runner@v12.5.0+incompatible/executors/custom/config.go (about)

     1  package custom
     2  
     3  import (
     4  	"time"
     5  
     6  	"gitlab.com/gitlab-org/gitlab-runner/common"
     7  )
     8  
     9  type config struct {
    10  	*common.CustomConfig
    11  }
    12  
    13  func (c *config) GetConfigExecTimeout() time.Duration {
    14  	return getDuration(c.ConfigExecTimeout, defaultConfigExecTimeout)
    15  }
    16  
    17  func (c *config) GetPrepareExecTimeout() time.Duration {
    18  	return getDuration(c.PrepareExecTimeout, defaultPrepareExecTimeout)
    19  }
    20  
    21  func (c *config) GetCleanupScriptTimeout() time.Duration {
    22  	return getDuration(c.CleanupExecTimeout, defaultCleanupExecTimeout)
    23  }
    24  
    25  func (c *config) GetGracefulKillTimeout() time.Duration {
    26  	return getDuration(c.GracefulKillTimeout, defaultGracefulKillTimeout)
    27  }
    28  
    29  func (c *config) GetForceKillTimeout() time.Duration {
    30  	return getDuration(c.ForceKillTimeout, defaultForceKillTimeout)
    31  }
    32  
    33  func getDuration(source *int, defaultValue time.Duration) time.Duration {
    34  	if source == nil {
    35  		return defaultValue
    36  	}
    37  
    38  	timeout := *source
    39  	if timeout <= 0 {
    40  		return defaultValue
    41  	}
    42  
    43  	return time.Duration(timeout) * time.Second
    44  }