Description
From Scala Steward's documentation, it's important that Scala Steward's filesystem workspace is persisted between GitHub Action runs:
It is important to persist this workspace between runs. Without this, Scala Steward will be unable to observe repo-specific preferences (such as pullRequests.frequency) correctly.
So, if the Scala Steward run is even partially failing (eg. due to just one troublesome repo), pullRequests.frequency
configuration will not work, because the filesystem-backed PullRequestRepository
won't retain details on any new PRs created by Scala Steward - GHA filesystem caching only takes place if the action was successful.
Recent example
The Public Repos Scala Steward GHA workflow has been failing for the past 3 weeks (due to guardian/typerighter#384, see guardian/typerighter#384 (comment)), and over that time Scala Steward has not been able to record any new PRs it's made - so has gradually started to revert to the annoying behaviour of raising new PRs for AWS artifacts every single day (eg guardian/play-secret-rotation#406 & guardian/play-secret-rotation#409):

This is unfortunate given the recent work on scala-steward-org/scala-steward#3102 .
Possible actions
Persist filesystem even if GHA fails
Ideally filesystem persistence would occur even if the GHA failed - it looks like this actually has been added to the Scala Steward GitHub Action? :
- Workspace cache is not saved when scala-steward run fails scala-steward-org/scala-steward-action#632 & Save workspace cache when run failed scala-steward-org/scala-steward-action#631
This was released with scala-steward-action
v2.67.0 in September 2024, which we upgraded to with this PR, merged 30th October:
Stop Scala Steward returning a 'failure' exit code when only some repos have failed
This can be enabled using the new --exit-code-success-if-any-repo-succeeds
flag - but do we want to do this, now that scala-steward-org/scala-steward-action#631 has been released?
- Enabled No longer any indication on the list of all recent workflow runs of failure - but if you click through on a specific workflow run, there should be a report summarising failing repos Add GitHub Action Job Summary summarising failing repos scala-steward-org/scala-steward#3071
- Disabled The list of all recent workflow runs will indicate failure.
Alert teams when one of their repos fails
It would be good to alert teams when one of their repos is causing failure in Scala Steward - scala-steward-org/scala-steward#3071 was a step towards making responsibility a bit more visible, but was only a first step, and didn't provide alerting (also, the error from guardian/typerighter#384 didn't even result in a usable summary report).