sbt-github-actions icon indicating copy to clipboard operation
sbt-github-actions copied to clipboard

Concurrency and reusable workflows

Open ingemaradahl opened this issue 5 months ago • 0 comments

This PR adds support for calling reusable workflows instead of listing steps within a workflow. Since there now exist a difference in the set of supported keys between a "standard" workflow job (which uses steps) and a calling workflow variant, the WorkflowJob trait is made into an sealed abstract class with two implementations: Steps and Use, with a slight difference in required and accepted arguments. To stay source compatible, the WorkflowJob.apply function is aliased to WorkflowJob.Steps to avoid build definitions using this plugin to change.

The concurrency keyword is disabled by default, I didn't really dare make a change which would require more or less all workflow to be regenerated (which I guess shouldn't be a problem as scala steward takes care of that), but I'm happy to change it to fall in line with what sbt-typelevel-github-actions does (or what is discussed in #79). The concurrency implementation is essentially a backport from the typelevel fork.

Resolves #79

ingemaradahl avatar Sep 11 '25 10:09 ingemaradahl