Skip to content

pullRequests.frequency config doesn't work if the Scala Steward run has failures #60

Open
@rtyley

Description

@rtyley

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):

image

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? :

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?

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions