typelevel / sbt-typelevel

Let sbt work for you.
https://typelevel.org/sbt-typelevel/
Apache License 2.0
170 stars 47 forks source link

Add a status check job #290

Closed armanbilge closed 2 years ago

armanbilge commented 2 years ago

Some projects like to enforce that status checks pass before allowing a merge. You can configure this in GitHub, but you have to explicitly list which jobs you require to pass the checks. The problem is this list gets stale quickly: as soon as a Scala version updates, the job name changes (since it includes the Scala version) and it needs to be reconfigured.

So, easy solution: create a job with a stable name, that is empty, but has all other jobs as its dependency 😁

fserra-mdsol commented 2 years ago

I second that. This would prevent a PR that has a failed pipeline job to be (mistakenly?) merged, as it happened with me on http4s-twirl!

armanbilge commented 2 years ago

Sadly this is not as good a first issue as I thought. The Workflow DSL exposed via sbt-gh-actions is currently not quite expressive enough to do what we need. For example, it enforces that every job has a matrix with a Scala version and a Java version, which defeats the purpose of this change. We could put dummy values, but I'd rather not.

armanbilge commented 2 years ago

This can now be solved much more easily via https://github.com/typelevel/sbt-typelevel/issues/331 which will allow us to define stable job names.