It would be a huge time saver to only execute steps when code has changed. In a monorepo, there may be several projects (different micro services, client bundles, packages to externally publish, documentation to deploy), but it may only be necessary to perform those steps if there is actually any changes to the code.
Github actions supports this via:
on:
push:
paths:
- '**.js'
Potential syntax:
- name: build-client
image: node
when:
paths:
- /client/**
- /commont/components/**
In the monorepo example, it would be nice if anything that was setup to depends_on: build-client
would also not run, although adding the condition to all the related steps would not be the end of the world.