Cannot control concurrency at workflow level

GitHub Actions provides a mechanism to control concurrency (parallelism) within a job but not within an entire workflow. e.g.

on:
  push:

jobs:
  Test:
    strategy:
      max-parallel: 1
      matrix:
        foo:
          - bar
          - baz

This runs each test in the matrix one at a time, but if two pushes happen at once, both workflows will still run in parallel. This can be problematic if the test requires a user session and two tests running in parallel will cancel each other’s active session, causing artificial failures. There needs to be a mechanism to control concurrency for the entire workflow, not just jobs within the workflow.

As an aside, Travis already supports this feature.

1 Like