Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Verification tests fail in CI with 403 status codes #4434

Closed
iaindillingham opened this issue Jul 9, 2024 · 1 comment · Fixed by #4522
Closed

Verification tests fail in CI with 403 status codes #4434

iaindillingham opened this issue Jul 9, 2024 · 1 comment · Fixed by #4522
Assignees

Comments

@iaindillingham
Copy link
Member

It's not uncommon for the verification tests to fail in CI with 403 (forbidden) status codes.1 The verification tests aren't run locally (e.g. with just test), so there's no reason to think the failures are specific to CI, however.

The failures result in long stack traces that conclude with coverage errors. However, coverage isn't to blame. When looking at the following examples, focus on the "short test summary info" section:

Notice that the associated PRs may not touch the tests or the functions under test. Indeed, they may relate to JavaScript rather than to Python.

Considerations

Footnotes

  1. https://bennettoxford.slack.com/archives/C069SADHP1Q/p1719926997444489?thread_ts=1719821734.604979&cid=C069SADHP1Q

@evansd
Copy link
Contributor

evansd commented Jul 16, 2024

Sorry, I've had the Slack conversation regarding this bookmarked to come back to for ages but only just got round to it.

My high-level comment is that I think the right approach here is to not run these tests as part of CI and instead to run them on a schedule, as you suggest:

Can we run the verification tests nightly?

I think it's really important for developer sanity that CI be, as far as possible, deterministic and hermetic: CI should fail because of some change in the PR, and for no other reason.

Tests that external services still behave as expected are important, but don't relate to specific code changes and so should be run on a schedule rather than in CI. And that's better because operationally as well because you find out about potential breakages soon after they occur, rather than the next time you happen to open a PR.

Of course that still leaves the problem that the scheduled tests might end up being flaky too! I don't have any particular expertise to offer here, but the things you've already listed cover everything I'd look at in the first instance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants