CI: Use dynamic pipelines
The pipeline configuration is getting a little complicated, especially the if clauses to support skip/only statements. It's probably time to move to a dynamic pipeline generator so that we can select tests based on the contents of a PR, e.g., skip testing (or only test) only cuDNN when modifying lib/cudnn. We should probably only do this when the PR is marked as a draft PR, and opt to run all tests when marking ready for review.
In addition, because creating draft PRs is something most authors forget, we should probably use a label for this instead.
The Yggdrasil pipeline could probably be used for inspiration,
as an example forerunner is used to launch a dynamic pipeline based on what code as touched.
https://github.com/JuliaPackaging/Yggdrasil/blob/667ec5cba62eb585289d8345de21342f85c70331/.buildkite/pipeline.yml#L9