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.