actions / actions/runner

Why is my job cancelling when I have 'cancel-in-progress' set to false?

Open
#3,722 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C#
Stars
6.3k
Forks
1.4k
Avg merge
1d 16h
Merged PRs (30d)
24

Description

So I have 3 jobs in a workflow, 2 of which share the name concurrency ID

jobs:
############################### BOOT SIMULATORS #########################################
  node1:
    name: Selenium Grid Node 1
    runs-on: [appium-grid-hub]
    timeout-minutes: 250

  node2:
   name: Selenium Grid Node 2
   runs-on: [ios-appium-test-node]
   timeout-minutes: 250
   concurrency:
    group: ios-appium-test-runs
    cancel-in-progress: false


  test:
    needs: [node1, node2]
    #needs: [node1]
    name: Run tests
    runs-on: [appium-grid-hub]
    timeout-minutes: 270
    concurrency:
      group: ios-appium-test-runs
      cancel-in-progress: false

This workflow runs as devs create PRs, seems very frequently that if two jobs are waiting around, one of jobs in the ios-appium-test-runs groups ends up getting cancelled

Image

I don't know how to prevent this, seems it won't cancel if it's in progress, but if a job is from another PR is "Waiting" then it will cancel another (these are PRs from two different branches BTW, I would expect a cancellation if someone pushes to the same branch causing a new run on their PR)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start from the workflow's node2 and test jobs, focusing on their shared ios-appium-test-runs concurrency group and cancel-in-progress: false settings. Reproduce the behavior with jobs from two different pull requests, comparing queued, waiting, running, and cancelled states. Done means explaining the observed cancellation and identifying the configuration or documented behavior that prevents it.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.