Skip to content

Run more quietly#758

Closed
mernst wants to merge 19 commits intocodespecs:masterfrom
mernst:quieter2
Closed

Run more quietly#758
mernst wants to merge 19 commits intocodespecs:masterfrom
mernst:quieter2

Conversation

@mernst
Copy link
Copy Markdown
Member

@mernst mernst commented Jan 13, 2026

No description provided.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jan 13, 2026

📝 Walkthrough

Walkthrough

This pull request modifies the Daikon project's build and CI infrastructure across four files. It adds environment variable sanitization (COMSPEC, ComSpec, BIBINPUTS) to CI job invocations in CircleCI configuration files. In the documentation build system, it introduces a CRONIC wrapper for makeinfo and HTML generation commands and updates dependencies to include plume-scripts. Additionally, it refactors the test-misc.sh script to separate javadoc and documentation building into distinct steps with explicit error handling for the doc-all target.

Possibly related PRs

🚥 Pre-merge checks | ✅ 1
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In @doc/Makefile:
- Around line 71-73: The rule `${CRONIC}: ../.utils/plume-scripts` is a regular
file dependency, not an order-only prerequisite; either update the Makefile to
make the directory an explicit order-only dependency (`${CRONIC}: |
../.utils/plume-scripts`) if you intend order-only semantics, or keep the
current rule and add a clarifying comment above it explaining that this is a
regular file dependency that ensures the `../.utils/plume-scripts` target
(`update-plume-scripts-in-utils`) runs first; reference `${CRONIC}`,
`../.utils/plume-scripts`, and the `update-plume-scripts-in-utils` MAKE target
so the intent is unambiguous.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d833e0d and d8378ce.

📒 Files selected for processing (4)
  • .circleci/config.yml
  • .circleci/defs.m4
  • doc/Makefile
  • scripts/test-misc.sh
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
  • GitHub Check: codespecs.daikon (typecheck_latest_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_latest_part2_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_latest_part3_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (kvasir_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part1_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part2_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (typecheck_bundled_part3_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nontxt_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (nonquick_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (misc_ubuntu_jdk25)
  • GitHub Check: codespecs.daikon (quick_ubuntu_jdk25)
🔇 Additional comments (10)
.circleci/config.yml (2)

331-333: LGTM! Consistent environment sanitization across Ubuntu misc jobs.

The environment variable exports (COMSPEC, ComSpec, BIBINPUTS) are correctly applied before invoking test-misc.sh. This ensures a clean environment for documentation builds, avoiding interference from inherited variables (particularly in Windows-derived CI environments or custom BibTeX paths).

Also applies to: 353-355, 375-377, 397-399, 419-421


941-943: LGTM! Rocky Linux misc jobs follow the same sanitization pattern.

Also applies to: 963-965

.circleci/defs.m4 (1)

53-60: LGTM! Template correctly defines the environment sanitization.

The misc_job macro properly chains the environment exports before invoking the script. This ensures all generated misc jobs in config.yml consistently apply the sanitization.

scripts/test-misc.sh (2)

5-6: LGTM! Helpful clarifying comment.


46-52: Sound workaround for Texinfo's set -e incompatibility.

The pattern correctly:

  1. Runs javadoc separately (still under set -e)
  2. Disables errexit for doc-all which invokes Texinfo
  3. Manually checks the exit status and fails appropriately
  4. Re-enables errexit for subsequent code

This preserves proper error detection while avoiding false positives from Texinfo's interaction with errexit.

doc/Makefile (5)

7-8: Good addition of CRONIC for suppressing verbose output.

The cronic wrapper is a well-established tool that only shows output when the wrapped command fails, which aligns well with the PR's goal to "run more quietly."


93-102: LGTM! CRONIC wrapping for chapter HTML generation.

The daikon/index.html target correctly depends on plume-scripts and wraps the TEXI2HTML invocation with CRONIC to suppress verbose output on success.


104-112: LGTM! Consistent CRONIC wrapping for developer HTML.


116-120: LGTM! PDF generation wrapped with CRONIC.

Both daikon.pdf and developer.pdf correctly declare the CRONIC dependency and wrap their makeinfo --pdf invocations.


75-87: The single-file HTML targets daikon-html and developer.html are invoked in CI but lack CRONIC wrapping—unlike split-chapter and PDF targets.

Both targets are included in the all-except-pdf target (via the html dependency), which is invoked during CI builds via make doc-all. The split-chapter targets (daikon/index.html, developer/index.html) and PDF targets all consistently use ${CRONIC} to suppress verbose output on success, but the single-file HTML targets do not. This inconsistency should be intentional or addressed.

Comment thread doc/Makefile
@mernst mernst closed this Jan 14, 2026
@mernst mernst deleted the quieter2 branch January 14, 2026 04:32
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.

1 participant