ci: run performance validation nightly and increase benchmark iteration count#554
ci: run performance validation nightly and increase benchmark iteration count#554
Conversation
|
Caution Review failedThe pull request is closed. 📝 Walkthrough""" WalkthroughA new GitHub composite action for setup, restore, and build was added. The main workflow now uses this action for both build and a new nightly performance validation job. The performance script was updated to increase benchmark iteration count. The workflow schedule was changed to nightly, and performance validation runs only on the main branch. A new semantic PR title check workflow was also added. Changes
Sequence Diagram(s)sequenceDiagram
participant GitHub Actions
participant Composite Action
participant Dotnet CLI
participant Performance Script
GitHub Actions->>Composite Action: Run setup-restore-build
Composite Action->>Dotnet CLI: Setup .NET (global.json)
Composite Action->>Dotnet CLI: Restore NuGet packages
Composite Action->>Dotnet CLI: Build solution (Release, deterministic)
GitHub Actions->>Performance Script: Run RunPerfTests.ps1 (nightly, main branch)
Performance Script->>Dotnet CLI: Execute benchmarks (15 invocations)
Performance Script-->>GitHub Actions: Upload performance artifacts
Possibly related issues
Possibly related PRs
Suggested reviewers
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (3)
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Pull Request Overview
This PR redesigns the CI performance validation workflow to reduce costs and improve data quality by moving performance tests from every PR to nightly scheduled runs. The change increases BenchmarkDotNet iteration count from 1 to 15 for more statistically meaningful results and simplifies the OS matrix to run only on Linux ARM for performance validation.
Key changes:
- Separates performance validation into a dedicated nightly job that only runs on the main branch
- Increases benchmark iteration count from 1 to 15 in the PowerShell script
- Removes Windows from performance validation OS matrix, keeping only Linux ARM
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
build/scripts/perf/RunPerfTests.ps1 |
Updates BenchmarkDotNet invocation count from 1 to 15 iterations |
.github/workflows/main.yml |
Separates performance validation into nightly job and removes multi-OS runs |
Comments suppressed due to low confidence (1)
.github/workflows/main.yml:25
- [nitpick] The step name should be 'Restore dependencies' or 'Restore packages' to match the conventional naming pattern used elsewhere in the workflow and be more descriptive than 'NuGet Restore'.
build:
…m and ubuntu-24.04-arm for cross-platform coverage
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferences |
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
.github/workflows/main.yml (1)
16-16: Clarify timezone in cron schedule comment.The cron schedule comment should specify the timezone for clarity.
- - cron: '0 3 * * *' # Nightly run for performance validation + - cron: '0 3 * * *' # Nightly run for performance validation at 3:00 AM UTC
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (3)
.github/actions/setup-restore-build/action.yml(1 hunks).github/workflows/main.yml(5 hunks)build/scripts/perf/RunPerfTests.ps1(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*
Instructions used from:
Sources:
📄 CodeRabbit Inference Engine
- .github/copilot-instructions.md
🧠 Learnings (4)
📓 Common learnings
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Summarize all changes in the PR description and cite relevant lines from modified files for clarity.
Learnt from: rjmurillo
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-approve-and-auto-merge.yml:8-8
Timestamp: 2025-01-22T00:47:24.622Z
Learning: For the moq.analyzers repository, ARM64 runner migration can proceed without staged rollout as there are minimal dependencies, with policy configurations to be adjusted post-merge.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Always run dotnet format, build, and run all tests after making code changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-pr.yml:13-13
Timestamp: 2025-01-17T21:45:05.188Z
Learning: As of January 2025, GitHub-hosted ARM64 runners should use the syntax `ubuntu-24.04-arm` in GitHub Actions workflow files, as documented in the GitHub changelog.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/release.yml:24-24
Timestamp: 2025-01-17T21:44:35.686Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public repositories (public preview). The runner specification format is `ubuntu-24.04-arm` for ARM64-based Ubuntu runners.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: When making changes, follow the workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues if any → Run/Update Tests → Fix test failures if any → Update Docs → Commit & PR.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:43:46.997Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public preview. The runner label format is `ubuntu-24.04-arm` for ARM64 Ubuntu runners. This is available for free in public repositories.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: When making changes, follow this workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues → Run/Update Tests → Update Docs → Commit & PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.037Z
Learning: Applies to {tests/**/*.cs,docs/rules/**/*.md} : Update or add xUnit tests and documentation under docs/rules/ when analyzers change.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:44:17.410Z
Learning: GitHub Actions now supports ARM64 runners (as of January 2025) with labels like `ubuntu-24.04-arm`. These runners are available for free in public repositories during the public preview period.
build/scripts/perf/RunPerfTests.ps1 (4)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Always run dotnet format, build, and run all tests after making code changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Run all unit tests: dotnet test --settings ./build/targets/tests/test.runsettings.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
.github/actions/setup-restore-build/action.yml (5)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Always run dotnet format, build, and run all tests after making code changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.037Z
Learning: Applies to **/*.{cs,csproj} : Run dotnet format before building or testing. Style settings come from .editorconfig.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Run all unit tests: dotnet test --settings ./build/targets/tests/test.runsettings.
.github/workflows/main.yml (19)
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-pr.yml:13-13
Timestamp: 2025-01-17T21:45:05.188Z
Learning: As of January 2025, GitHub-hosted ARM64 runners should use the syntax `ubuntu-24.04-arm` in GitHub Actions workflow files, as documented in the GitHub changelog.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Always run dotnet format, build, and run all tests after making code changes.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-issues.yml:14-14
Timestamp: 2025-01-17T21:44:41.600Z
Learning: As of January 2025, GitHub Actions ARM64 runners should use the syntax `ubuntu-24.04-arm` for the `runs-on` field, not the array syntax with separate OS and architecture labels.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: When making changes, follow the workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues if any → Run/Update Tests → Fix test failures if any → Update Docs → Commit & PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: When making changes, follow this workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues → Run/Update Tests → Update Docs → Commit & PR.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:44:17.410Z
Learning: GitHub Actions now supports ARM64 runners (as of January 2025) with labels like `ubuntu-24.04-arm`. These runners are available for free in public repositories during the public preview period.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:43:46.997Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public preview. The runner label format is `ubuntu-24.04-arm` for ARM64 Ubuntu runners. This is available for free in public repositories.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/release.yml:24-24
Timestamp: 2025-01-17T21:44:35.686Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public repositories (public preview). The runner specification format is `ubuntu-24.04-arm` for ARM64-based Ubuntu runners.
Learnt from: rjmurillo
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-approve-and-auto-merge.yml:8-8
Timestamp: 2025-01-22T00:47:24.622Z
Learning: For the moq.analyzers repository, ARM64 runner migration can proceed without staged rollout as there are minimal dependencies, with policy configurations to be adjusted post-merge.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Run all unit tests: dotnet test --settings ./build/targets/tests/test.runsettings.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.037Z
Learning: Applies to **/*.{cs,csproj} : Run dotnet format before building or testing. Style settings come from .editorconfig.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/codacy.mdc:0-0
Timestamp: 2025-07-19T08:09:35.137Z
Learning: Do not run `codacy_cli_analyze` looking for changes in code coverage
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/codacy.mdc:0-0
Timestamp: 2025-07-19T08:09:35.137Z
Learning: If the Codacy CLI is not installed, just run the `codacy_cli_analyze` tool from Codacy's MCP Server
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: After any dependency change, run Codacy analysis with 'tool: trivy' and resolve vulnerabilities before continuing.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: After any dependency change, run Codacy analysis with tool: trivy and resolve vulnerabilities before continuing.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: After any file edit, immediately run Codacy analysis for the edited file and resolve all reported issues before proceeding.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: After any file edit, immediately run Codacy analysis for the edited file and resolve all reported issues before proceeding.
🪛 YAMLlint (1.37.1)
.github/workflows/main.yml
[warning] 16-16: too few spaces before comment: expected 2
(comments)
[error] 38-38: wrong indentation: expected 6 but found 4
(indentation)
[error] 118-118: wrong indentation: expected 6 but found 4
(indentation)
🪛 actionlint (1.7.7)
.github/workflows/main.yml
113-113: label "windows-11-arm" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
🔇 Additional comments (5)
.github/actions/setup-restore-build/action.yml (2)
1-16: Excellent consolidation of common CI steps.The composite action effectively centralizes setup, restore, and build steps with appropriate configurations for deterministic builds and diagnostics.
14-16: Add shell specification for cross-platform compatibility.The
runsteps should specify the shell to ensure consistent behavior across different operating systems in the matrix.- name: NuGet Restore run: dotnet restore + shell: bash - name: Build run: dotnet build --no-restore --configuration Release /p:Deterministic=true /p:UseSharedCompilation=false /p:BuildInParallel=false /nodeReuse:false /bl:./artifacts/logs/release/build.release.binlog + shell: bash⛔ Skipped due to learnings
Learnt from: MattKotsenas PR: rjmurillo/moq.analyzers#325 File: .github/workflows/label-issues.yml:14-14 Timestamp: 2025-01-17T21:44:41.600Z Learning: As of January 2025, GitHub Actions ARM64 runners should use the syntax `ubuntu-24.04-arm` for the `runs-on` field, not the array syntax with separate OS and architecture labels.Learnt from: MattKotsenas PR: rjmurillo/moq.analyzers#325 File: .github/workflows/label-pr.yml:13-13 Timestamp: 2025-01-17T21:45:05.188Z Learning: As of January 2025, GitHub-hosted ARM64 runners should use the syntax `ubuntu-24.04-arm` in GitHub Actions workflow files, as documented in the GitHub changelog.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-07-19T08:09:21.038Z Learning: Always run dotnet format, build, and run all tests after making code changes.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-07-19T08:09:21.037Z Learning: Applies to **/*.{cs,csproj} : Run dotnet format before building or testing. Style settings come from .editorconfig.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-07-19T08:09:21.038Z Learning: Run all unit tests: dotnet test --settings ./build/targets/tests/test.runsettings.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-07-19T08:09:21.038Z Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-06-25T12:42:47.111Z Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-07-19T08:09:21.037Z Learning: Build with warnings as errors: dotnet build /p:PedanticMode=true.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-06-25T12:42:47.110Z Learning: Build with warnings as errors using 'dotnet build /p:PedanticMode=true'.build/scripts/perf/RunPerfTests.ps1 (1)
25-25: Improved benchmark reliability with increased iterations.The change from
--invocationCount 1to--invocationCount 15aligns perfectly with the PR objectives to achieve statistically meaningful performance results. The spacing normalization is also a good cleanup..github/workflows/main.yml (2)
16-16: Excellent workflow improvements for performance validation.The changes successfully implement the PR objectives:
- Nightly scheduling reduces CI costs while maintaining quality
- Composite action usage improves maintainability
- New performance job is well-structured with proper conditionals and artifact handling
Also applies to: 38-39, 108-135
113-113: No changes needed for Windows ARM64 runner labelThe
windows-11-armlabel is the official and supported GitHub-hosted Windows ARM64 runner for public repositories in 2025. Keeping:os: [windows-11-arm, ubuntu-24.04-arm]is correct; no updates are required.
Likely an incorrect or invalid review comment.
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
.github/workflows/main.yml (1)
16-16: [Duplicate] Cron schedule timezone clarification needed.The cron schedule comment could be more specific about the timezone for clarity.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (3)
.github/actions/setup-restore-build/action.yml(1 hunks).github/workflows/main.yml(5 hunks)build/scripts/perf/RunPerfTests.ps1(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*
Instructions used from:
Sources:
📄 CodeRabbit Inference Engine
- .github/copilot-instructions.md
🧠 Learnings (4)
📓 Common learnings
Learnt from: rjmurillo
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-approve-and-auto-merge.yml:8-8
Timestamp: 2025-01-22T00:47:24.622Z
Learning: For the moq.analyzers repository, ARM64 runner migration can proceed without staged rollout as there are minimal dependencies, with policy configurations to be adjusted post-merge.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Summarize all changes in the PR description and cite relevant lines from modified files for clarity.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Every pull request must include evidence of running code formatting, building with warnings as errors, and running all unit tests (console log/text or screenshots) in the PR description.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-pr.yml:13-13
Timestamp: 2025-01-17T21:45:05.188Z
Learning: As of January 2025, GitHub-hosted ARM64 runners should use the syntax `ubuntu-24.04-arm` in GitHub Actions workflow files, as documented in the GitHub changelog.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/release.yml:24-24
Timestamp: 2025-01-17T21:44:35.686Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public repositories (public preview). The runner specification format is `ubuntu-24.04-arm` for ARM64-based Ubuntu runners.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: When making changes, follow the workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues if any → Run/Update Tests → Fix test failures if any → Update Docs → Commit & PR.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-issues.yml:14-14
Timestamp: 2025-01-17T21:44:41.600Z
Learning: As of January 2025, GitHub Actions ARM64 runners should use the syntax `ubuntu-24.04-arm` for the `runs-on` field, not the array syntax with separate OS and architecture labels.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:43:46.997Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public preview. The runner label format is `ubuntu-24.04-arm` for ARM64 Ubuntu runners. This is available for free in public repositories.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: When making changes, follow this workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues → Run/Update Tests → Update Docs → Commit & PR.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:44:17.410Z
Learning: GitHub Actions now supports ARM64 runners (as of January 2025) with labels like `ubuntu-24.04-arm`. These runners are available for free in public repositories during the public preview period.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Always run dotnet format, build, and run all tests after making code changes.
build/scripts/perf/RunPerfTests.ps1 (4)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Always run dotnet format, build, and run all tests after making code changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Run all unit tests: dotnet test --settings ./build/targets/tests/test.runsettings.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
.github/actions/setup-restore-build/action.yml (5)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Always run dotnet format, build, and run all tests after making code changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.037Z
Learning: Applies to **/*.{cs,csproj} : Run dotnet format before building or testing. Style settings come from .editorconfig.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Run all unit tests: dotnet test --settings ./build/targets/tests/test.runsettings.
.github/workflows/main.yml (19)
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-pr.yml:13-13
Timestamp: 2025-01-17T21:45:05.188Z
Learning: As of January 2025, GitHub-hosted ARM64 runners should use the syntax `ubuntu-24.04-arm` in GitHub Actions workflow files, as documented in the GitHub changelog.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Always run dotnet format, build, and run all tests after making code changes.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-issues.yml:14-14
Timestamp: 2025-01-17T21:44:41.600Z
Learning: As of January 2025, GitHub Actions ARM64 runners should use the syntax `ubuntu-24.04-arm` for the `runs-on` field, not the array syntax with separate OS and architecture labels.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: When making changes, follow the workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues if any → Run/Update Tests → Fix test failures if any → Update Docs → Commit & PR.
Learnt from: rjmurillo
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-approve-and-auto-merge.yml:8-8
Timestamp: 2025-01-22T00:47:24.622Z
Learning: For the moq.analyzers repository, ARM64 runner migration can proceed without staged rollout as there are minimal dependencies, with policy configurations to be adjusted post-merge.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: When making changes, follow this workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues → Run/Update Tests → Update Docs → Commit & PR.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:44:17.410Z
Learning: GitHub Actions now supports ARM64 runners (as of January 2025) with labels like `ubuntu-24.04-arm`. These runners are available for free in public repositories during the public preview period.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:43:46.997Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public preview. The runner label format is `ubuntu-24.04-arm` for ARM64 Ubuntu runners. This is available for free in public repositories.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/release.yml:24-24
Timestamp: 2025-01-17T21:44:35.686Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public repositories (public preview). The runner specification format is `ubuntu-24.04-arm` for ARM64-based Ubuntu runners.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Run all unit tests: dotnet test --settings ./build/targets/tests/test.runsettings.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.037Z
Learning: Applies to **/*.{cs,csproj} : Run dotnet format before building or testing. Style settings come from .editorconfig.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/codacy.mdc:0-0
Timestamp: 2025-07-19T08:09:35.137Z
Learning: Do not run `codacy_cli_analyze` looking for changes in code coverage
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/codacy.mdc:0-0
Timestamp: 2025-07-19T08:09:35.137Z
Learning: If the Codacy CLI is not installed, just run the `codacy_cli_analyze` tool from Codacy's MCP Server
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: After any dependency change, run Codacy analysis with 'tool: trivy' and resolve vulnerabilities before continuing.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: After any dependency change, run Codacy analysis with tool: trivy and resolve vulnerabilities before continuing.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: After any file edit, immediately run Codacy analysis for the edited file and resolve all reported issues before proceeding.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: After any file edit, immediately run Codacy analysis for the edited file and resolve all reported issues before proceeding.
🪛 GitHub Actions: Main build
.github/actions/setup-restore-build/action.yml
[error] 1-1: Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under the action directory. Did you forget to run actions/checkout before running your local action?
🪛 YAMLlint (1.37.1)
.github/workflows/main.yml
[warning] 16-16: too few spaces before comment: expected 2
(comments)
[error] 38-38: wrong indentation: expected 6 but found 4
(indentation)
[error] 118-118: wrong indentation: expected 6 but found 4
(indentation)
🪛 actionlint (1.7.7)
.github/workflows/main.yml
113-113: label "windows-11-arm" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
🔇 Additional comments (6)
.github/actions/setup-restore-build/action.yml (2)
1-12: Good consolidation of common CI steps.The composite action effectively consolidates the checkout, .NET setup, and restore steps that are repeated across multiple jobs. The use of
fetch-depth: 0andglobal-json-fileconfiguration is appropriate for build reproducibility.
14-16: Critical: Add shell specification for run commands in composite action.Composite actions require explicit
shellspecification forrunsteps. This is likely causing the pipeline failure where the action file cannot be found/loaded.Apply this diff to fix the shell specifications:
- name: NuGet Restore run: dotnet restore + shell: bash - name: Build run: dotnet build --no-restore --configuration Release /p:Deterministic=true /p:UseSharedCompilation=false /p:BuildInParallel=false /nodeReuse:false /bl:./artifacts/logs/release/build.release.binlog + shell: bash⛔ Skipped due to learnings
Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-07-19T08:09:21.037Z Learning: Applies to **/* : All formatting and linting issues flagged by bots or CI must be resolved before requesting review or merging.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-07-19T08:09:21.038Z Learning: Always run dotnet format, build, and run all tests after making code changes.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-07-19T08:09:21.038Z Learning: Run all unit tests: dotnet test --settings ./build/targets/tests/test.runsettings.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-07-19T08:09:21.038Z Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-06-25T12:42:47.111Z Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-07-19T08:09:21.037Z Learning: Build with warnings as errors: dotnet build /p:PedanticMode=true.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-06-25T12:42:47.110Z Learning: Build with warnings as errors using 'dotnet build /p:PedanticMode=true'.Learnt from: CR PR: rjmurillo/moq.analyzers#0 File: .github/copilot-instructions.md:0-0 Timestamp: 2025-07-19T08:09:21.037Z Learning: Applies to **/*.{cs,csproj} : Run dotnet format before building or testing. Style settings come from .editorconfig.build/scripts/perf/RunPerfTests.ps1 (1)
25-25: Good increase in benchmark iterations for statistical reliability.Increasing
--invocationCountfrom 1 to 15 aligns with the PR objective to achieve statistically meaningful performance results. The combination of 2 warmup iterations and 15 measured iterations provides a good balance between CI cost and result reliability..github/workflows/main.yml (3)
108-135: Excellent addition of dedicated performance validation job.The new performance job effectively implements the PR objectives:
- Runs only on scheduled nightly builds on main branch
- Uses the same OS matrix for consistency
- Includes proper artifact upload with conditional execution
- Good documentation of BenchmarkDotNet settings in comments
27-27: Good use of fail-fast: false for performance validation.Setting
fail-fast: falseensures that performance validation runs on all OS variants even if one fails, providing comprehensive performance data across platforms.
113-113: No action needed for the Windows ARM64 runner labelThe
windows-11-armlabel is officially supported by GitHub Actions for Windows 11 ARM64 hosted runners in public repositories as of July 2025. Your existing configuration is correct:os: [windows-11-arm, ubuntu-24.04-arm]
There was a problem hiding this comment.
Actionable comments posted: 3
♻️ Duplicate comments (1)
.github/workflows/main.yml (1)
16-16: Fix comment spacing and clarify timezone.The cron schedule comment needs proper spacing and timezone clarification as previously mentioned.
- - cron: '0 3 * * *' # Nightly run for performance validation + - cron: '0 3 * * *' # Nightly run for performance validation at 3:00 AM UTC
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (3)
.github/actions/setup-restore-build/action.yml(1 hunks).github/workflows/main.yml(5 hunks)build/scripts/perf/RunPerfTests.ps1(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**/*
Instructions used from:
Sources:
📄 CodeRabbit Inference Engine
- .github/copilot-instructions.md
🧠 Learnings (4)
📓 Common learnings
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Summarize all changes in the PR description and cite relevant lines from modified files for clarity.
Learnt from: rjmurillo
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-approve-and-auto-merge.yml:8-8
Timestamp: 2025-01-22T00:47:24.622Z
Learning: For the moq.analyzers repository, ARM64 runner migration can proceed without staged rollout as there are minimal dependencies, with policy configurations to be adjusted post-merge.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-pr.yml:13-13
Timestamp: 2025-01-17T21:45:05.188Z
Learning: As of January 2025, GitHub-hosted ARM64 runners should use the syntax `ubuntu-24.04-arm` in GitHub Actions workflow files, as documented in the GitHub changelog.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: When making changes, follow the workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues if any → Run/Update Tests → Fix test failures if any → Update Docs → Commit & PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: When making changes, follow this workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues → Run/Update Tests → Update Docs → Commit & PR.
build/scripts/perf/RunPerfTests.ps1 (4)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Always run dotnet format, build, and run all tests after making code changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Run all unit tests: dotnet test --settings ./build/targets/tests/test.runsettings.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
.github/actions/setup-restore-build/action.yml (5)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Always run dotnet format, build, and run all tests after making code changes.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.037Z
Learning: Applies to **/*.{cs,csproj} : Run dotnet format before building or testing. Style settings come from .editorconfig.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Run all unit tests: dotnet test --settings ./build/targets/tests/test.runsettings.
.github/workflows/main.yml (19)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Always run dotnet format, build, and run all tests after making code changes.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-pr.yml:13-13
Timestamp: 2025-01-17T21:45:05.188Z
Learning: As of January 2025, GitHub-hosted ARM64 runners should use the syntax `ubuntu-24.04-arm` in GitHub Actions workflow files, as documented in the GitHub changelog.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-issues.yml:14-14
Timestamp: 2025-01-17T21:44:41.600Z
Learning: As of January 2025, GitHub Actions ARM64 runners should use the syntax `ubuntu-24.04-arm` for the `runs-on` field, not the array syntax with separate OS and architecture labels.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: When making changes, follow the workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues if any → Run/Update Tests → Fix test failures if any → Update Docs → Commit & PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: When making changes, follow this workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues → Run/Update Tests → Update Docs → Commit & PR.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:44:17.410Z
Learning: GitHub Actions now supports ARM64 runners (as of January 2025) with labels like `ubuntu-24.04-arm`. These runners are available for free in public repositories during the public preview period.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:43:46.997Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public preview. The runner label format is `ubuntu-24.04-arm` for ARM64 Ubuntu runners. This is available for free in public repositories.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/release.yml:24-24
Timestamp: 2025-01-17T21:44:35.686Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public repositories (public preview). The runner specification format is `ubuntu-24.04-arm` for ARM64-based Ubuntu runners.
Learnt from: rjmurillo
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-approve-and-auto-merge.yml:8-8
Timestamp: 2025-01-22T00:47:24.622Z
Learning: For the moq.analyzers repository, ARM64 runner migration can proceed without staged rollout as there are minimal dependencies, with policy configurations to be adjusted post-merge.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Run all unit tests: dotnet test --settings ./build/targets/tests/test.runsettings.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.037Z
Learning: Applies to **/*.{cs,csproj} : Run dotnet format before building or testing. Style settings come from .editorconfig.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/codacy.mdc:0-0
Timestamp: 2025-07-19T08:09:35.137Z
Learning: Do not run `codacy_cli_analyze` looking for changes in code coverage
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/codacy.mdc:0-0
Timestamp: 2025-07-19T08:09:35.137Z
Learning: If the Codacy CLI is not installed, just run the `codacy_cli_analyze` tool from Codacy's MCP Server
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: After any dependency change, run Codacy analysis with 'tool: trivy' and resolve vulnerabilities before continuing.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: After any dependency change, run Codacy analysis with tool: trivy and resolve vulnerabilities before continuing.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: After any file edit, immediately run Codacy analysis for the edited file and resolve all reported issues before proceeding.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: After any file edit, immediately run Codacy analysis for the edited file and resolve all reported issues before proceeding.
🪛 YAMLlint (1.37.1)
.github/workflows/main.yml
[warning] 16-16: too few spaces before comment: expected 2
(comments)
[error] 38-38: wrong indentation: expected 6 but found 4
(indentation)
[error] 118-118: wrong indentation: expected 6 but found 4
(indentation)
🪛 actionlint (1.7.7)
.github/workflows/main.yml
113-113: label "windows-11-arm" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
🔇 Additional comments (7)
.github/actions/setup-restore-build/action.yml (3)
1-4: LGTM - Well-structured composite action.The action metadata is clear and the composite action approach effectively consolidates common CI steps.
6-8: LGTM - Checkout configuration is appropriate.Using
fetch-depth: 0is correct for deterministic builds that may need git history for version calculation.
9-12: LGTM - Excellent use of global.json for version consistency.Using
global-json-fileensures consistent .NET versions across all environments.build/scripts/perf/RunPerfTests.ps1 (1)
25-25: LGTM - Benchmark iteration count increase aligns with PR objectives.Increasing
invocationCountfrom 1 to 15 will provide more statistically meaningful performance results as intended. ThewarmupCountof 2 paired with 15 invocations strikes a good balance between statistical reliability and CI execution time..github/workflows/main.yml (3)
27-27: LGTM - Consistent fail-fast configuration.Setting
fail-fast: falseexplicitly is good for consistency, even though it's the default for matrices.
86-86: LGTM - Minor formatting cleanup.The formatting cleanup is good for consistency.
121-134: LGTM - Well-documented performance validation.Excellent documentation of the BenchmarkDotNet settings and clear rationale for the parameter choices. The artifact upload configuration is also properly set up.
There was a problem hiding this comment.
Actionable comments posted: 2
🔭 Outside diff range comments (1)
.github/workflows/main.yml (1)
86-92: Optional: pin Codacy action to a commit SHAFor supply-chain safety, consider pinning
codacy-coverage-reporter-actionto a commit SHA instead of a mutable tag.
♻️ Duplicate comments (2)
.github/workflows/main.yml (2)
27-30:windows-11-armrunner label is still invalid & contradicts PR description
actionlintshows the label is unknown, and the PR summary says performance validation should run only on Linux ARM.
Drop the Windows entry (both here and in theperformancejob) or switch to a supported label such aswindows-2022if Windows coverage is really required.- os: [windows-11-arm, ubuntu-24.04-arm] + os: [ubuntu-24.04-arm]Likely an incorrect or invalid review comment.
108-119: Same two issues repeated inperformancejob• Invalid
windows-11-armlabel
• Step indentation + wrong local-action pathApply the same fixes suggested for the
buildjob:- os: [windows-11-arm, ubuntu-24.04-arm] + os: [ubuntu-24.04-arm] - - name: Setup, Restore, and Build Solution - uses: ./.github/actions/setup-restore-build/action.yml + - name: Setup, Restore, and Build Solution + uses: ./.github/actions/setup-restore-build
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/main.yml(5 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Summarize all changes in the PR description and cite relevant lines from modified files for clarity.
Learnt from: rjmurillo
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-approve-and-auto-merge.yml:8-8
Timestamp: 2025-01-22T00:47:24.622Z
Learning: For the moq.analyzers repository, ARM64 runner migration can proceed without staged rollout as there are minimal dependencies, with policy configurations to be adjusted post-merge.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-pr.yml:13-13
Timestamp: 2025-01-17T21:45:05.188Z
Learning: As of January 2025, GitHub-hosted ARM64 runners should use the syntax `ubuntu-24.04-arm` in GitHub Actions workflow files, as documented in the GitHub changelog.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: When making changes, follow the workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues if any → Run/Update Tests → Fix test failures if any → Update Docs → Commit & PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: When making changes, follow this workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues → Run/Update Tests → Update Docs → Commit & PR.
.github/workflows/main.yml (24)
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Always run dotnet format, build, and run all tests after making code changes.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-pr.yml:13-13
Timestamp: 2025-01-17T21:45:05.188Z
Learning: As of January 2025, GitHub-hosted ARM64 runners should use the syntax `ubuntu-24.04-arm` in GitHub Actions workflow files, as documented in the GitHub changelog.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-issues.yml:14-14
Timestamp: 2025-01-17T21:44:41.600Z
Learning: As of January 2025, GitHub Actions ARM64 runners should use the syntax `ubuntu-24.04-arm` for the `runs-on` field, not the array syntax with separate OS and architecture labels.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.037Z
Learning: Applies to **/* : All formatting and linting issues flagged by bots or CI must be resolved before requesting review or merging.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: When making changes, follow the workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues if any → Run/Update Tests → Fix test failures if any → Update Docs → Commit & PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: After any dependency change, run Codacy analysis with 'tool: trivy' and resolve vulnerabilities before continuing.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Address all feedback from automated bots (e.g., Codeclimate, formatting/linting bots) as you would human reviewers; resolve all formatting and linting issues flagged by bots or CI before requesting review or merging.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: When making changes, follow this workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues → Run/Update Tests → Update Docs → Commit & PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/codacy.mdc:0-0
Timestamp: 2025-07-19T08:09:35.137Z
Learning: If any issues are found in the new edits by `codacy_cli_analyze`, propose and apply fixes for them
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: After any dependency change, run Codacy analysis with tool: trivy and resolve vulnerabilities before continuing.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: After any file edit, immediately run Codacy analysis for the edited file and resolve all reported issues before proceeding.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: After any file edit, immediately run Codacy analysis for the edited file and resolve all reported issues before proceeding.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Address all feedback from automated bots (e.g., Codeclimate, formatting/linting bots) as you would human reviewers.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.037Z
Learning: Applies to {README.md,docs/rules/README.md} : Update README.md and docs/rules/README.md if workflows or rules change.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:44:17.410Z
Learning: GitHub Actions now supports ARM64 runners (as of January 2025) with labels like `ubuntu-24.04-arm`. These runners are available for free in public repositories during the public preview period.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:43:46.997Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public preview. The runner label format is `ubuntu-24.04-arm` for ARM64 Ubuntu runners. This is available for free in public repositories.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/release.yml:24-24
Timestamp: 2025-01-17T21:44:35.686Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public repositories (public preview). The runner specification format is `ubuntu-24.04-arm` for ARM64-based Ubuntu runners.
Learnt from: rjmurillo
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-approve-and-auto-merge.yml:8-8
Timestamp: 2025-01-22T00:47:24.622Z
Learning: For the moq.analyzers repository, ARM64 runner migration can proceed without staged rollout as there are minimal dependencies, with policy configurations to be adjusted post-merge.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Run all unit tests: dotnet test --settings ./build/targets/tests/test.runsettings.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.037Z
Learning: Applies to **/*.{cs,csproj} : Run dotnet format before building or testing. Style settings come from .editorconfig.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/codacy.mdc:0-0
Timestamp: 2025-07-19T08:09:35.137Z
Learning: Do not run `codacy_cli_analyze` looking for changes in code coverage
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/codacy.mdc:0-0
Timestamp: 2025-07-19T08:09:35.137Z
Learning: If the Codacy CLI is not installed, just run the `codacy_cli_analyze` tool from Codacy's MCP Server
🪛 YAMLlint (1.37.1)
.github/workflows/main.yml
[warning] 16-16: too few spaces before comment: expected 2
(comments)
[error] 38-38: wrong indentation: expected 6 but found 4
(indentation)
[error] 118-118: wrong indentation: expected 6 but found 4
(indentation)
🪛 actionlint (1.7.7)
.github/workflows/main.yml
113-113: label "windows-11-arm" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
There was a problem hiding this comment.
Actionable comments posted: 2
♻️ Duplicate comments (1)
.github/workflows/main.yml (1)
108-119: Unsupported runner label and repeated indentation / action-path problems
windows-11-armis not an officially supported GitHub-hosted runner label (see action-lint error).
At the same time, the same indentation anduses:path issues noted in the build job recur here.- matrix: - os: [windows-11-arm, ubuntu-24.04-arm] + matrix: + os: [ubuntu-24.04-arm] - steps: - - name: Setup, Restore, and Build Solution - uses: ./.github/actions/setup-restore-build/action.yml + steps: + - name: Setup, Restore, and Build Solution + uses: ./.github/actions/setup-restore-build
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/main.yml(5 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Summarize all changes in the PR description and cite relevant lines from modified files for clarity.
Learnt from: rjmurillo
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-approve-and-auto-merge.yml:8-8
Timestamp: 2025-01-22T00:47:24.622Z
Learning: For the moq.analyzers repository, ARM64 runner migration can proceed without staged rollout as there are minimal dependencies, with policy configurations to be adjusted post-merge.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-pr.yml:13-13
Timestamp: 2025-01-17T21:45:05.188Z
Learning: As of January 2025, GitHub-hosted ARM64 runners should use the syntax `ubuntu-24.04-arm` in GitHub Actions workflow files, as documented in the GitHub changelog.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: When making changes, follow the workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues if any → Run/Update Tests → Fix test failures if any → Update Docs → Commit & PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: When making changes, follow this workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues → Run/Update Tests → Update Docs → Commit & PR.
.github/workflows/main.yml (24)
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-pr.yml:13-13
Timestamp: 2025-01-17T21:45:05.188Z
Learning: As of January 2025, GitHub-hosted ARM64 runners should use the syntax `ubuntu-24.04-arm` in GitHub Actions workflow files, as documented in the GitHub changelog.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Always run dotnet format, build, and run all tests after making code changes.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/label-issues.yml:14-14
Timestamp: 2025-01-17T21:44:41.600Z
Learning: As of January 2025, GitHub Actions ARM64 runners should use the syntax `ubuntu-24.04-arm` for the `runs-on` field, not the array syntax with separate OS and architecture labels.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.037Z
Learning: Applies to **/* : All formatting and linting issues flagged by bots or CI must be resolved before requesting review or merging.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: When making changes, follow the workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues if any → Run/Update Tests → Fix test failures if any → Update Docs → Commit & PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: After any dependency change, run Codacy analysis with 'tool: trivy' and resolve vulnerabilities before continuing.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.110Z
Learning: Address all feedback from automated bots (e.g., Codeclimate, formatting/linting bots) as you would human reviewers; resolve all formatting and linting issues flagged by bots or CI before requesting review or merging.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: When making changes, follow this workflow: Edit/Add Code or Test → Run codacy_cli_analyze → Fix issues → Run/Update Tests → Update Docs → Commit & PR.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/codacy.mdc:0-0
Timestamp: 2025-07-19T08:09:35.137Z
Learning: If any issues are found in the new edits by `codacy_cli_analyze`, propose and apply fixes for them
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: After any dependency change, run Codacy analysis with tool: trivy and resolve vulnerabilities before continuing.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: After any file edit, immediately run Codacy analysis for the edited file and resolve all reported issues before proceeding.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: After any file edit, immediately run Codacy analysis for the edited file and resolve all reported issues before proceeding.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Address all feedback from automated bots (e.g., Codeclimate, formatting/linting bots) as you would human reviewers.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.037Z
Learning: Applies to {README.md,docs/rules/README.md} : Update README.md and docs/rules/README.md if workflows or rules change.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:44:17.410Z
Learning: GitHub Actions now supports ARM64 runners (as of January 2025) with labels like `ubuntu-24.04-arm`. These runners are available for free in public repositories during the public preview period.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-auto-approve.yml:9-9
Timestamp: 2025-01-17T21:43:46.997Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public preview. The runner label format is `ubuntu-24.04-arm` for ARM64 Ubuntu runners. This is available for free in public repositories.
Learnt from: MattKotsenas
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/release.yml:24-24
Timestamp: 2025-01-17T21:44:35.686Z
Learning: As of January 2025, GitHub Actions supports ARM64 runners in public repositories (public preview). The runner specification format is `ubuntu-24.04-arm` for ARM64-based Ubuntu runners.
Learnt from: rjmurillo
PR: rjmurillo/moq.analyzers#325
File: .github/workflows/dependabot-approve-and-auto-merge.yml:8-8
Timestamp: 2025-01-22T00:47:24.622Z
Learning: For the moq.analyzers repository, ARM64 runner migration can proceed without staged rollout as there are minimal dependencies, with policy configurations to be adjusted post-merge.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Run all unit tests: dotnet test --settings ./build/targets/tests/test.runsettings.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.038Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-06-25T12:42:47.111Z
Learning: Re-run dotnet format, build, and tests after resolving feedback or merge conflicts.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-07-19T08:09:21.037Z
Learning: Applies to **/*.{cs,csproj} : Run dotnet format before building or testing. Style settings come from .editorconfig.
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/codacy.mdc:0-0
Timestamp: 2025-07-19T08:09:35.137Z
Learning: Do not run `codacy_cli_analyze` looking for changes in code coverage
Learnt from: CR
PR: rjmurillo/moq.analyzers#0
File: .cursor/rules/codacy.mdc:0-0
Timestamp: 2025-07-19T08:09:35.137Z
Learning: If the Codacy CLI is not installed, just run the `codacy_cli_analyze` tool from Codacy's MCP Server
🪛 YAMLlint (1.37.1)
.github/workflows/main.yml
[warning] 16-16: too few spaces before comment: expected 2
(comments)
[error] 38-38: wrong indentation: expected 6 but found 4
(indentation)
[error] 118-118: wrong indentation: expected 6 but found 4
(indentation)
🪛 actionlint (1.7.7)
.github/workflows/main.yml
113-113: label "windows-11-arm" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
🔇 Additional comments (3)
.github/workflows/main.yml (3)
27-27: Matrix tweak LGTMExplicitly disabling
fail-faston the strategy is a sound choice for multi-OS builds.
86-92: Coverage reporter step is correctly scoped and version-pinnedNice job gating the step behind Linux-only execution and pinning to a fixed major/minor tag.
123-127: Comment mentions BenchmarkDotNet flags that are never passedThe explanatory comment lists
--warmupCount 2and--invocationCount 15, but the command does not forward them to the script. IfPerfCore.ps1does not set these defaults internally, the intended change isn’t realised.- run: ${{ github.workspace }}/build/scripts/perf/PerfCore.ps1 -v diag -diff -ci + run: ${{ github.workspace }}/build/scripts/perf/PerfCore.ps1 -v diag -diff -ci --warmupCount 2 --invocationCount 15Please verify whether the script already applies these parameters; if not, pass them explicitly to avoid a silent regression.
99b4b80 to
69fd163
Compare
…m and ubuntu-24.04-arm for cross-platform coverage
b6e0169 to
eac1439
Compare
Introduce a new GitHub Action for Dependency Review to scan for known-vulnerable package versions in pull requests. Update the PowerShell workflow with enhanced permissions and add PSScriptAnalyzer for script validation. Implement a new "Semantic PR Check" workflow for title validation. Refactor C# methods to enhance detection of Moq's Raises methods using symbol-based analysis, and add unit tests to ensure accurate identification of valid and invalid patterns.
Add checkout step using actions/checkout@v4 with fetch-depth 0 to action.yml and main.yml. Introduce "Setup, Restore, and Build Solution" step for consistent .NET build process across jobs. Include performance validation step using PowerShell.
This PR addresses issue #553 by redesigning the CI performance validation workflow:
This change will reduce CI cost and latency, and provide more actionable performance data.
Evidence:
Related to #553.
Summary by CodeRabbit
New Features
Improvements