Skip to content

ci: republish docs site when generated-doc sources change - #4777

Merged
mbutrovich merged 1 commit into
apache:mainfrom
andygrove:fix-docs-deploy-filter
Jun 30, 2026
Merged

mbutrovich merged 1 commit into
apache:mainfrom
andygrove:fix-docs-deploy-filter

Conversation

@andygrove

Copy link
Copy Markdown
Member

Which issue does this PR close?

N/A

Rationale for this change

The docs deploy job (docs.yaml, invoked from ci.yml) only runs when dev/ci/compute-changes.py reports docs=true. That filter previously matched only .asf.yaml, the docs workflow itself, and docs/**.

However, the published site also contains content generated at build time by GenerateDocs (the configs.md table and the per-version expression compatibility pages). That content is derived from Scala sources, not from files under docs/. As a result, a push to main that changed an expression's support level, a config, or a serde, but did not touch any docs/ file, would not republish the site, so the generated pages could drift from main.

(This is not a regression from the recent CI refactor: the standalone docs workflow used the same path filter. The refactor to a reusable workflow_call is only why those runs no longer appear under the docs.yaml workflow page; the deploy still runs as a job inside CI.)

What changes are included in this PR?

Add the GenerateDocs input paths to the docs filter in compute-changes.py:

  • spark/src/main/scala/org/apache/comet/CometConf.scala (feeds configs.md)
  • spark/src/main/scala/org/apache/comet/GenerateDocs.scala (the generator)
  • spark/src/main/scala/org/apache/comet/serde/** (expression serde maps and compatibility notes)
  • spark/src/main/scala/org/apache/comet/expressions/** (e.g. CometCast cast compatibility)
  • spark/src/main/spark-*/** (per-version shims that register some expressions)

Native, test-only, and CI-only changes still do not republish the site, since none of them affect the generated content.

How are these changes tested?

Validated the new globs against the script's own matcher: each added source path classifies as docs=true, while native (native/**), test (spark/src/test/**), common Java, and unrelated spark/src/main paths (e.g. org/apache/spark/sql/comet/CometScanExec.scala) still classify as docs=false.

The docs deploy job only runs when compute-changes.py reports docs=true,
which previously matched only .asf.yaml, the docs workflow, and docs/**.
The published site also contains content generated by GenerateDocs
(configs.md and the per-version expression compatibility pages), built
from Scala sources. Changes to those sources did not republish the site
unless a docs/ file happened to change in the same push, so generated
pages could drift from main.

Add the GenerateDocs input paths (CometConf, GenerateDocs, the serde and
expressions packages, and the per-version shim directories) to the docs
filter so the site republishes when generated content changes.

@mbutrovich mbutrovich left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @andygrove!

@mbutrovich
mbutrovich merged commit 846bc39 into apache:main Jun 30, 2026
51 checks passed
marvelshan pushed a commit to marvelshan/datafusion-comet that referenced this pull request Jul 2, 2026
@andygrove
andygrove deleted the fix-docs-deploy-filter branch August 5, 2026 19:57
comphead pushed a commit to comphead/arrow-datafusion-comet that referenced this pull request Aug 26, 2026
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 this pull request may close these issues.

2 participants