From bf5d01cd7d42eae506c5fa722f030dff6c324226 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 29 Oct 2026 16:51:57 +0000 Subject: [PATCH 1/2] fix(ci): run the Go shards when a docs/project baseline changes Co-Authored-By: jason.han --- changes/unreleased/ci-baseline-json-runs-go.fixed.md | 1 + scripts/ci-changed-areas-test.sh | 5 +++++ scripts/ci-changed-areas.sh | 6 +++++- 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 changes/unreleased/ci-baseline-json-runs-go.fixed.md diff --git a/changes/unreleased/ci-baseline-json-runs-go.fixed.md b/changes/unreleased/ci-baseline-json-runs-go.fixed.md new file mode 100644 index 0000000000..1463be32eb --- /dev/null +++ b/changes/unreleased/ci-baseline-json-runs-go.fixed.md @@ -0,0 +1 @@ +- A pull request that changes only the committed baselines or figure pages under `docs/project/` now runs the Go test shards. `scripts/ci-changed-areas.sh` classified those files as documentation alone, so a baseline re-record was green on the pull request while the referee provenance and figure tests that read it never ran. diff --git a/scripts/ci-changed-areas-test.sh b/scripts/ci-changed-areas-test.sh index 0c9356a5cd..4b65968a15 100755 --- a/scripts/ci-changed-areas-test.sh +++ b/scripts/ci-changed-areas-test.sh @@ -106,6 +106,10 @@ case_ pysysml python packaging/pypi-pysysml/pyproject.toml # The Go hygiene suite caps every tracked fixture and test file, so these run it too. case_ client-fixture go,python client/python/tests/testdata/large.json case_ client-golden go,node client/node/test/render.golden.json +# The committed baselines and figure pages under docs/project are Go test inputs. +case_ project-baseline docs,go docs/project/pilot-differential-baseline.json +case_ project-figures docs,go docs/project/api-json-differential.md +case_ project-archive docs,go docs/project/archive/CHANGELOG-0.0-0.8.md case_ unclaimed docs,go,java,julia,jupyterlab,matlab,mdk,node,python,rust,syson,vscode some-new-top-level/thing.txt # The quick tier runs the Go suite for a service change but not every client; a @@ -117,6 +121,7 @@ quick_case_ unclaimed go some-new-top-level/thing.txt quick_case_ go-and-node go,node internal/syntax/parser/parser.go client/node/src/node/binary.ts quick_case_ go-and-docs docs,go internal/syntax/parser/parser.go docs/guide/index.md quick_case_ docs-only docs docs/guide/index.md +quick_case_ project-baseline docs,go docs/project/pilot-differential-baseline.json quick_case_ java-manifest java,mdk,python client/java/pom.xml quick_case_ node-only node client/node/src/node/binary.ts quick_case_ vscode-grammar go,vscode editors/vscode/tools/gengrammar/grammar.go diff --git a/scripts/ci-changed-areas.sh b/scripts/ci-changed-areas.sh index 4a53717f99..72fd9fbf3c 100755 --- a/scripts/ci-changed-areas.sh +++ b/scripts/ci-changed-areas.sh @@ -37,6 +37,10 @@ syson_pattern='^editors/syson/' # The Go hygiene suite ratchets every tracked test file and fixture, wherever it # lives, so one of those changing anywhere runs the Go area. hygiene_pattern='(^|/)testdata/|\.golden\.|_test\.go$' +# The committed baselines and figure-bearing pages under docs/project are read by +# Go tests (the referees' provenance and figure checks, doc-counts), so a change +# there runs the Go area as well as the docs. +project_inputs_pattern='^docs/project/.*\.(json|md)$' known_pattern="$service_pattern|$docs_pattern|$node_pattern|$python_pattern|$java_pattern|$rust_pattern|$julia_pattern|$matlab_pattern|$vscode_pattern|$jupyterlab_pattern|$mdk_pattern|$syson_pattern|^\.agents/|^\.gitignore$|^\.gitattributes$|^LICENSE|^packaging/" @@ -61,7 +65,7 @@ emit() { fanout=$service [[ "${CI_TIER:-full}" = quick ]] && fanout=false -emit go "$( { [[ "$service" = true ]] || matches "$hygiene_pattern"; } && echo true || echo false)" +emit go "$( { [[ "$service" = true ]] || matches "$hygiene_pattern" || matches "$project_inputs_pattern"; } && echo true || echo false)" emit docs "$( { [[ "$fanout" = true ]] || matches "$docs_pattern"; } && echo true || echo false)" emit node "$( { [[ "$fanout" = true ]] || matches "$node_pattern"; } && echo true || echo false)" # The client-manifest/Python version lockstep tests live in the Python suite, From 0bc089f8639969c80c0e954748455d37e60e3997 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 29 Oct 2026 17:49:28 +0000 Subject: [PATCH 2/2] fix(ci): keep the docs/project comment to two lines Co-Authored-By: jason.han --- scripts/ci-changed-areas.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/ci-changed-areas.sh b/scripts/ci-changed-areas.sh index 72fd9fbf3c..8149606b8f 100755 --- a/scripts/ci-changed-areas.sh +++ b/scripts/ci-changed-areas.sh @@ -37,9 +37,8 @@ syson_pattern='^editors/syson/' # The Go hygiene suite ratchets every tracked test file and fixture, wherever it # lives, so one of those changing anywhere runs the Go area. hygiene_pattern='(^|/)testdata/|\.golden\.|_test\.go$' -# The committed baselines and figure-bearing pages under docs/project are read by -# Go tests (the referees' provenance and figure checks, doc-counts), so a change -# there runs the Go area as well as the docs. +# Go tests (the referees' provenance and figure checks, doc-counts) read the committed +# baselines and figure pages under docs/project, so a change there runs Go as well as docs. project_inputs_pattern='^docs/project/.*\.(json|md)$' known_pattern="$service_pattern|$docs_pattern|$node_pattern|$python_pattern|$java_pattern|$rust_pattern|$julia_pattern|$matlab_pattern|$vscode_pattern|$jupyterlab_pattern|$mdk_pattern|$syson_pattern|^\.agents/|^\.gitignore$|^\.gitattributes$|^LICENSE|^packaging/"