Skip to content

Conversation

@shaominngqing
Copy link

Fixes #396

Pull Request

Description

Related Issue(s)

Type of Change

Select all that apply:

Code & Documentation:

  • Bug fix (non-breaking change fixing an issue)
  • New feature (non-breaking change adding functionality)
  • Breaking change (fix or feature causing existing functionality to change)
  • Documentation update

Infrastructure & Configuration:

  • GitHub Actions workflow
  • Linting configuration (markdown, PowerShell, etc.)
  • Security configuration
  • DevContainer configuration
  • Dependency update

AI Artifacts:

  • Reviewed contribution with prompt-builder agent and addressed all feedback
  • Copilot instructions (.github/instructions/*.instructions.md)
  • Copilot prompt (.github/prompts/*.prompt.md)
  • Copilot agent (.github/agents/*.agent.md)

Note for AI Artifact Contributors:

  • Agents: Research, indexing/referencing other project (using standard VS Code GitHub Copilot/MCP tools), planning, and general implementation agents likely already exist. Review .github/agents/ before creating new ones.
  • Model Versions: Only contributions targeting the latest Anthropic and OpenAI models will be accepted. Older model versions (e.g., GPT-3.5, Claude 3) will be rejected.
  • See Agents Not Accepted and Model Version Requirements.

Other:

  • Script/automation (.ps1, .sh, .py)
  • Other (please describe):

Sample Prompts (for AI Artifact Contributions)

User Request:

Execution Flow:

Output Artifacts:

Success Indicators:

For detailed contribution requirements, see:

Testing

Checklist

Required Checks

  • Documentation is updated (if applicable)
  • Files follow existing naming conventions
  • Changes are backwards compatible (if applicable)
  • Tests added for new functionality (if applicable)

AI Artifact Contributions

  • Used /prompt-analyze to review contribution
  • Addressed all feedback from prompt-builder review
  • Verified contribution follows common standards and type-specific requirements

Required Automated Checks

The following validation commands must pass before merging:

  • Markdown linting: npm run lint:md
  • Spell checking: npm run spell-check
  • Frontmatter validation: npm run lint:frontmatter
  • Link validation: npm run lint:md-links
  • PowerShell analysis: npm run lint:ps

Security Considerations

  • This PR does not contain any sensitive or NDA information
  • Any new dependencies have been reviewed for security issues
  • Security-related scripts follow the principle of least privilege

Additional Notes

- Add -ModuleName LintingHelpers to all mocks of extracted functions
- Affects Get-ChangedFilesFromGit, Get-FilesRecursive, Write-GitHubAnnotation,
  Set-GitHubOutput, Set-GitHubEnv, and Write-GitHubStepSummary
- Ensures mocks target the correct function scope after refactoring in microsoft#379

Fixes microsoft#396
@shaominngqing shaominngqing requested a review from a team as a code owner February 4, 2026 07:01
@katriendg
Copy link
Contributor

With the initial referenced PR being closed and superseded by #401, @WilliamBerryiii can comment if we should still address this, in that case we need the PR to be merged first, rebase this branch, and changes needed as some changes affect this PR.

@WilliamBerryiii
Copy link
Member

Hi @shaominngqing, thank you for your contribution and for taking the time to work on this!

Unfortunately, we need to close this PR. The codebase has evolved significantly since issue #396 was created:

  1. Function renames: The GitHub-specific functions (Set-GitHubOutput, Write-GitHubAnnotation) were refactored to CI-agnostic names (Set-CIOutput, Write-CIAnnotation) to support both GitHub Actions and Azure DevOps.

  2. Architecture clarification: After deeper analysis, we've determined that issue [Issue]: Update mock scoping in linting tests to target LintingHelpers module #396 was based on an incorrect premise. The CI functions (Set-CIOutput, etc.) are NOT part of the LintingHelpers module—they're in a separate CIHelpers module. Adding -ModuleName LintingHelpers to these mocks would actually break the tests rather than fix them.

The current session-level mocking strategy is correct for our module architecture.

We're also closing issue #396 as invalid. We appreciate your effort and hope you'll consider contributing again in the future!

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.

[Issue]: Update mock scoping in linting tests to target LintingHelpers module

3 participants