Skip to content

Gracefully handle 5xx errors #29

@TaxBusby

Description

@TaxBusby

Hey, this extension is awesome. Thanks for sharing it.

I'm trying to use it to build some automated reporting of actions usage for our organization. This is probably just an intermittent github issue, but right now some of my workflows return 502 on the /timing endpoint.

GitHub Actions Usage (2117caa)

panic: HTTP 502: Server Error (https://api.github.com/repos/xxxx/xxxx/actions/workflows/xxxx/timing)

goroutine 1 [running]:
main.getRepoUsage(0xc000150510)
	github.com/geoffreywiseman/gh-actions-usage/main.go:166 +0x2b6
main.tryDisplayAllSpecified({{0x70c3ac, 0x5}, 0x0, {0x792cc0, 0xc000028ef0}}, {0xc000010050?, 0x2e?, 0xc00005a000?})
	github.com/geoffreywiseman/gh-actions-usage/main.go:84 +0x1e6
main.main()
	github.com/geoffreywiseman/gh-actions-usage/main.go:40 +0x32a

When this happens, the whole process aborts. So if 1 repo is failing, I don't get any data in my report. When running locally, I can rerun. But during automation, I'd rather see it continue and try the other workflows/endpoints to get partial data.

Statistically speaking, if GitHub has a 0.1% chance of returning a 5xx, then if I run this on a schedule scanning ~200 repos, it's likely going to fail.

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