Skip to content
  • Douglas Wilson's avatar
    633bbc1f
    ci: Don't allow the nightly pipeline to be interrupted. · 633bbc1f
    Douglas Wilson authored and Matthew Pickering's avatar Matthew Pickering committed
    Since 58cfcc65 the default for jobs has been "interruptible", this means
    that when new commits are pushed to a branch which already has a running
    pipeline then the old pipelines for this branch are cancelled.
    
    This includes the master branch, and in particular, new commits merged
    to the master branch will cancel the nightly job.
    
    The semantics of pipeline cancelling are actually a bit more complicated
    though. The interruptible flag is *per job*, but once a pipeline has run
    *any* non-interruptible job, then the whole pipeline is considered
    non-interruptible (ref
    https://gitlab.com/gitlab-org/gitlab/-/issues/32837
    
    ). This leads to the
    hack in this MR where by default all jobs are `interruptible: True`, but
    for pipelines we definitely want to run, there is a dummy job which
    happens first, which is `interreuptible: False`. This has the effect of
    dirtying the whole pipeline and preventing another push to master from
    cancelling it.
    
    For now, this patch solves the immediate problem of making sure nightly
    jobs are not cancelled.
    In the future, we may want to enable this job also for the master
    branch, making that change might mean we need more CI capacity than
    currently available.
    
    [skip ci]
    
    Ticket: #19554
    
    Co-authored-by: default avatarMatthew Pickering <matthewtpickering@gmail.com>
    633bbc1f
    ci: Don't allow the nightly pipeline to be interrupted.
    Douglas Wilson authored and Matthew Pickering's avatar Matthew Pickering committed
    Since 58cfcc65 the default for jobs has been "interruptible", this means
    that when new commits are pushed to a branch which already has a running
    pipeline then the old pipelines for this branch are cancelled.
    
    This includes the master branch, and in particular, new commits merged
    to the master branch will cancel the nightly job.
    
    The semantics of pipeline cancelling are actually a bit more complicated
    though. The interruptible flag is *per job*, but once a pipeline has run
    *any* non-interruptible job, then the whole pipeline is considered
    non-interruptible (ref
    https://gitlab.com/gitlab-org/gitlab/-/issues/32837
    
    ). This leads to the
    hack in this MR where by default all jobs are `interruptible: True`, but
    for pipelines we definitely want to run, there is a dummy job which
    happens first, which is `interreuptible: False`. This has the effect of
    dirtying the whole pipeline and preventing another push to master from
    cancelling it.
    
    For now, this patch solves the immediate problem of making sure nightly
    jobs are not cancelled.
    In the future, we may want to enable this job also for the master
    branch, making that change might mean we need more CI capacity than
    currently available.
    
    [skip ci]
    
    Ticket: #19554
    
    Co-authored-by: default avatarMatthew Pickering <matthewtpickering@gmail.com>
Loading Validating GitLab CI configuration… Learn more
Loading