Skip to content

chore: drop CI-detection & doc-file config already provided by ANcpLua.NET.Sdk#496

Merged
github-actions[bot] merged 1 commit into
mainfrom
claude/drop-redundant-sdk-config
Jul 6, 2026
Merged

chore: drop CI-detection & doc-file config already provided by ANcpLua.NET.Sdk#496
github-actions[bot] merged 1 commit into
mainfrom
claude/drop-redundant-sdk-config

Conversation

@ANcpLua

@ANcpLua ANcpLua commented Jul 6, 2026

Copy link
Copy Markdown
Owner

Summary

Single-source-of-truth cleanup, matching the same change in ANcpLua.Analyzers#193. Removes two Directory.Build.props settings that merely re-state what the consumed ANcpLua.NET.Sdk already provides:

  • The <!-- CI Detection --> PropertyGroup (ContinuousIntegrationBuild=true on GITHUB_ACTIONS/TF_BUILD) — a strict subset of the SDK's ContinuousIntegrationBuild.props (GITHUB_ACTIONS, TF_BUILD, CI, +~10 more).
  • GenerateDocumentationFile=true — identical to the SDK's Common.props value.

Kept qyl's intentional overrides: AnalysisLevel=10.0 / AnalysisMode=Recommended (narrower than the SDK's latest-all) and the curated always-on WarningsAsErrors CA-rule list.

What it changes: nothing (verified)

  • CI (GITHUB_ACTIONS=true, Release): ContinuousIntegrationBuild=true, GenerateDocumentationFile=true, TreatWarningsAsErrors=trueidentical before/after (dotnet build -getProperty).
  • Local Debug: ContinuousIntegrationBuild empty and TreatWarningsAsErrors=false both before and after — the removed block was conditional and never applied locally.
  • Gate still armed (no false pass): a planted #warning becomes error CS1030 and fails the CI-sim -c Release build.
  • Full solution build: 0 warnings, 0 errors.

Status: complete-and-verified.

🤖 Generated with Claude Code

…Lua.NET.Sdk

The <!-- CI Detection --> PropertyGroup set ContinuousIntegrationBuild=true on
GITHUB_ACTIONS/TF_BUILD — a strict subset of what the consumed ANcpLua.NET.Sdk
already covers (ContinuousIntegrationBuild.props: GITHUB_ACTIONS, TF_BUILD, CI,
and ~10 more). GenerateDocumentationFile=true likewise duplicated the SDK's
Common.props value. Both removed; the SDK is the single source of build policy.

Verified value-preserving and gate-safe:
- CI-sim (GITHUB_ACTIONS=true, Release): ContinuousIntegrationBuild/
  GenerateDocumentationFile/TreatWarningsAsErrors all unchanged vs before.
- Local Debug: ContinuousIntegrationBuild empty and TreatWarningsAsErrors false
  before and after — the removed block never applied locally.
- Gate still fires: planted #warning becomes error CS1030, fails the CI build.
- Full solution build 0 warnings / 0 errors.

Kept qyl's intentional overrides (AnalysisLevel 10.0 / AnalysisMode Recommended,
the curated WarningsAsErrors CA-rule list).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions github-actions Bot enabled auto-merge (squash) July 6, 2026 08:50
@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Summary by CodeRabbit

  • Chores
    • Build settings now rely more on shared SDK defaults, reducing duplication in project configuration.
    • Documentation file generation is now handled centrally by the shared build setup.
    • Continuous integration build detection is also sourced from shared build configuration.

Walkthrough

Directory.Build.props no longer sets GenerateDocumentationFile or the CI-based ContinuousIntegrationBuild conditional block directly; both are replaced with comments indicating these are now supplied by ANcpLua.NET.Sdk's shared props files.

Changes

SDK delegation of build properties

Layer / File(s) Summary
Remove explicit doc and CI build properties
Directory.Build.props
Removes the explicit GenerateDocumentationFile property and the ContinuousIntegrationBuild CI-detection block, replacing both with comments deferring to SDK-provided props.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Suggested labels: area:infra

Two lines removed, two comments added — verify the SDK actually sets these properties before merging, otherwise builds silently lose doc generation and CI detection.


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 error)

Check name Status Explanation Resolution
Title check ❌ Error The title is relevant, but it violates the required conventional-commit format by omitting the mandated scope and exceeding 72 characters. Use a scoped conventional-commit title under 72 characters, e.g. "chore(infra): remove redundant SDK build props".
✅ Passed checks (7 passed)
Check name Status Explanation
Description check ✅ Passed The description clearly matches the props cleanup and verification performed in this change.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Otel Instrumentation Required ✅ Passed Only Directory.Build.props changed; no new injectable service classes were added, so no new OTel instrumentation is required.
No Unbounded Mcp Responses ✅ Passed Only Directory.Build.props changed; no files under src/qyl.mcp/ were modified, so the MCP bounded-response check is not applicable.
Duckdb Backpressure On Write Paths ✅ Passed This PR only edits Directory.Build.props; no runtime DuckDB write path was added or changed.
Cancellationtoken Threading ✅ Passed Only Directory.Build.props changed; no src/**/*.cs files were modified, so there are no new public async methods to audit.

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

@github-actions github-actions Bot merged commit c769d03 into main Jul 6, 2026
7 of 8 checks passed

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Directory.Build.props`:
- Around line 62-64: `ContinuousIntegrationBuild` is currently being enabled
from the generic `CI` environment variable, which can turn on
deterministic-build behavior in local shells and IDEs. Update the CI detection
in `Directory.Build.props` to rely on provider-specific variables only, and keep
the existing `ContinuousIntegrationBuild`/ANcpLua.NET.Sdk setup aligned with
those explicit CI signals rather than `CI` itself.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 4957f28d-78eb-44f4-b430-877b429966a3

📥 Commits

Reviewing files that changed from the base of the PR and between 16eac1e and 2dddcbd.

📒 Files selected for processing (1)
  • Directory.Build.props
📜 Review details
⏰ Context from checks skipped due to timeout. (3)
  • GitHub Check: Dependency Audit
  • GitHub Check: Backend (.NET)
  • GitHub Check: Frontend (React)
🧰 Additional context used
📓 Path-based instructions (3)
**/*

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

Do not suggest patterns that contradict CLAUDE.md or AGENTS.md.

Files:

  • Directory.Build.props
**

⚙️ CodeRabbit configuration file

AGENTS.md

**:

10.0.9
10.7.0
10.7.0
1.16.0
1.15.1
1.5.3
3.35.1
2.80.0
2.81.1

2.2.33
1.11.0

<!-- MAF (Microsoft.Agents.AI.*) — mirrors SDK truth; inlined so the repo builds with or without the sibling SDK checkout. -->
<MicrosoftAgentsAIVersion>1.11.0</MicrosoftAgentsAIVersion>
<MicrosoftAgentsAIHostingVersion>1.11.0-preview.260623.1</MicrosoftAgentsAIHostingVersion>

<NukeVersion>10.1.0</NukeVersion>
<SpectreConsoleVersion>0.57.0</SpectreConsoleVersion>
<VersionizeVersion>2.5.0</VersionizeVersion>

**:

<Import Project="$(MSBuildThisFileDirectory)../framework/ANcpLua.NET.Sdk/src/Build/Common/Version.props"
...

Files:

  • Directory.Build.props
**/*.props

⚙️ CodeRabbit configuration file

MSBuild property files (Directory.Build.props, Directory.Packages.props, Version.props). Review for: Central Package Management correctness, version consistency, and that new packages are added with explicit version pins. Flag transitive dependency promotions that aren't justified. Verify TFM targeting is correct (.NET 10).

Files:

  • Directory.Build.props
🔇 Additional comments (1)
Directory.Build.props (1)

38-42: 🎯 Functional Correctness

Keep GenerateDocumentationFile on a shared source of truth. Directory.Build.props now relies on ANcpLua.NET.Sdk to supply it, so this change is only safe if that SDK sets GenerateDocumentationFile=true for every import path.

Comment thread Directory.Build.props
Comment on lines +62 to 64
<!-- CI detection (ContinuousIntegrationBuild) is provided by ANcpLua.NET.Sdk
(ContinuousIntegrationBuild.props) covering GITHUB_ACTIONS, TF_BUILD, CI and ~10 more. -->

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Best-effort: search for any local copy/reference of ContinuousIntegrationBuild.props
fd -HI 'ContinuousIntegrationBuild.props'
rg -n 'ContinuousIntegrationBuild' -g '*.props' -g '*.targets' -g '*.yml' -g '*.yaml'

Repository: ANcpLua/qyl

Length of output: 149


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Directory.Build.props context:"
nl -ba Directory.Build.props | sed -n '50,75p'

echo
echo "Any CI/ContinuousIntegrationBuild references in repo:"
rg -n --hidden --glob '!**/.git/**' 'ContinuousIntegrationBuild|(^|[^A-Za-z])CI([^A-Za-z]|$)|GITHUB_ACTIONS|TF_BUILD' .

Repository: ANcpLua/qyl

Length of output: 220


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
import os, pathlib, re
for p in [pathlib.Path('Directory.Build.props')]:
    if p.exists():
        print(p, 'exists')
        txt = p.read_text(encoding='utf-8', errors='replace').splitlines()
        for i, line in enumerate(txt, 1):
            if 58 <= i <= 70:
                print(f"{i:4}: {line}")
    else:
        print(p, 'missing')
PY

Repository: ANcpLua/qyl

Length of output: 727


🌐 Web query:

MSBuild ContinuousIntegrationBuild CI environment variable local tools false positive Directory.Build.props ANcpLua.NET.Sdk ContinuousIntegrationBuild.props

💡 Result:

The ContinuousIntegrationBuild MSBuild property is designed to enable deterministic builds, which normalize file paths in generated PDBs to ensure build reproducibility [1][2][3]. Because these normalized paths do not point to the developer's local machine, setting this property to true during local development will cause debuggers to fail to locate source files [1][4]. To avoid this issue, the property should be set conditionally in your Directory.Build.props file, ensuring it is enabled only when running in a CI environment [1][5][4]. Recommended Implementation in Directory.Build.props: Use the environment variables specific to your CI provider to trigger the setting [1][5][4]. For Azure Pipelines: true For GitHub Actions: true The term false positive in this context typically refers to static analysis tools or build analyzers that may trigger alerts (such as Proj0042) because they detect that ContinuousIntegrationBuild is not globally set to true [5][6]. If you have manually defined it in a conditional PropertyGroup in Directory.Build.props, ensure your analyzer or build process is correctly evaluating those MSBuild conditions [6]. Additionally, some users have reported issues where the property is too generic or conflicts with other tools, necessitating careful configuration to ensure it only activates when genuinely in a CI pipeline [7][8].

Citations:


Keep ContinuousIntegrationBuild off generic CI. Local shells and IDEs often export CI, so this can enable deterministic-build mode outside real CI; gate it on provider-specific env vars instead.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Directory.Build.props` around lines 62 - 64, `ContinuousIntegrationBuild` is
currently being enabled from the generic `CI` environment variable, which can
turn on deterministic-build behavior in local shells and IDEs. Update the CI
detection in `Directory.Build.props` to rely on provider-specific variables
only, and keep the existing `ContinuousIntegrationBuild`/ANcpLua.NET.Sdk setup
aligned with those explicit CI signals rather than `CI` itself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants