Repository navigation
ci: keep the develop build-test workflow green - #911
Merged
Merged
Conversation
- go-static builds the landing-page diagram before checking documentation links, as the PR workflow does: the third-party notices link the libavoid-js licence text that bundle generates into the gitignored docs/assets/landing. - The runtime race shard runs internal/exec/runtime as two processes, the corpus-wide exploration apart from the rest: the race detector's memory is per process and the package alone peaks near 8.5 GB on the 8 GB node, which killed the shard on two of six recent merges. - TestRunSweepWithStopsAtTheDeadline meets its deadline once every job has taken its first row rather than after 20 ms of wall clock, which a loaded coverage node overran while a job was still building its context. Co-Authored-By: jason.han <hanhuijun@gmail.com>
Contributor
Author
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
Contributor
Author
There was a problem hiding this comment.
🔍 Devin Review: 1 flag
Not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
The CircleCI
build-testworkflow has failed on every merge intodevelopsince #899, and intermittently before that, for three unrelated reasons:docs/project/third-party-notices.mdlinks../assets/landing/libavoid-js.LICENSE.txt, whichnpm run build:landinggenerates into the gitignoreddocs/assets/landing/. The GitHub PR workflow runsmake docs-landing-assetsbeforescripts/check-doc-links.py; the CircleCIgo-staticjob did not. It now builds the bundle first (the Go executor already carries Node).signal: killedininternal/exec/runtime): the package peaks near 8.5 GB under-raceon the 8 GBlargenode. The Go heap stays under 0.5 GB (GOMEMLIMITchanges nothing); the memory is the race detector's, per process, andTestExploreWithIsExploreOverTheConformanceCorpusalone accounts for about half. The runtime shard now runs that test in one process and the rest of the package in another (3.8 GB and 4.2 GB measured).TestRunSweepWithStopsAtTheDeadlinegave the sweep a 20 ms wall-clock deadline and counted a row as late if the deadline had passed when its body began. On the loaded coverage node a job took its row before the deadline and finished building its context after it (8 rows started (1 after the deadline)). The test now meets the deadline itself once every job has taken its first row, so nothing depends on the clock; the assertions are unchanged.Only the CircleCI config and one test change;
make test-shardon GitHub Actions (16 GB runners) is untouched.How it was verified
make docs-landing-assets && python3 scripts/check-doc-links.pypasses locally (fails without the build, as on CircleCI).go test -race ./internal/exec/runtimewithGOMAXPROCS=4, measured with/usr/bin/time -v: whole package 8.5 GB max RSS;-run '^TestExploreWithIsExploreOverTheConformanceCorpus$'3.8 GB;-skipof the same 4.2 GB;GOMEMLIMIT=1536MiB/3GiB/5GiBall still 8.2–8.5 GB.go test -race -count=20 -run TestRunSweepWith ./internal/exec/runtimepasses;gofmt,go vet,circleci config validateclean.Checklist
make testandmake lintpass locally (lint;make testis the full suite, the touched package passes under-race)make docs-countsrun if a gate count moved (none moved)Link to Devin session: https://nasa-jpl-demo.devinenterprise.com/sessions/663a6b7810c04e479fe34c62557cd605
Open in Devin Desktop: https://nasa-jpl-demo.devinenterprise.com/desktop/session/663a6b7810c04e479fe34c62557cd605?variant=devin
Requested by: @HuiJun