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

Reusable workflows support

Open alvintang opened this issue 2 years ago • 1 comments

Hi @regadas! Thanks for all your work on this. I have an issue and would like your thoughts on it.

I currently have an open PR to support reusable workflows but it only adds the types needed. To call a reusable workflow, it has to be done on the job level so a uses key will be used instead of steps. My initial thought is to make jobs.steps and jobs.runs-on Optional but this will break existing workflows (including ours) since they have to be changed to Optional values. What's your take on this?

My current work around is to merge the records e.g.

GithubActions.Workflow::{
...
, jobs = [] : List { mapKey : Text, mapValue : GithubActions.Job.Type }
}
//  { jobs = toMap { job1.uses = "my-reusable-workflow@master" } }

alvintang avatar Feb 21 '23 00:02 alvintang

Hi @alvintang sorry for the long delay.

My initial thought is to make jobs.steps and jobs.runs-on Optional

Right, after a fast look I think that makes sense since those will not be required.

but this will break existing workflows (including ours) since they have to be changed to Optional values. What's your take on this?

If we do a versioned release first. You could move the existing ones to that, and then we introduce the breaking change in a new version.

regadas avatar Apr 29 '23 08:04 regadas