Skip to content

Conversation

@Shane32
Copy link
Owner

@Shane32 Shane32 commented Sep 30, 2025

Summary by CodeRabbit

  • Tests

    • Replaced repetitive per-framework test steps with a matrix-driven test run that applies conditional coverage and no-build flags.
    • Added a post-build additional-tests job that reuses build artifacts and installs requested .NET SDK versions to run extended tests.
    • Standardized SDK installation across test runs for consistent environments.
  • Chores

    • Implemented artifact download and centralized cleanup sequencing so cleanup waits for all test jobs to finish.

@Shane32 Shane32 self-assigned this Sep 30, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 30, 2025

Warning

Rate limit exceeded

@Shane32 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 12 minutes and 39 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 179e36f and 54d6f22.

📒 Files selected for processing (1)
  • QRCoderApiTests/QRCoderApiTests.csproj (1 hunks)
📝 Walkthrough

Walkthrough

Refactors the CI workflow to use a matrix-driven test job, adds an additional-tests job that installs a requested .NET SDK and consumes build artifacts, consolidates test execution into a parameterized step, and makes clean depend on additional-tests.

Changes

Cohort / File(s) Summary
Test matrix refactor
.github/workflows/wf-build-test.yml
Replaces explicit per-framework test steps with a matrix (name, framework, coverage, no-build, sdk) and a single conditional dotnet test run that assembles flags dynamically.
New additional-tests job
.github/workflows/wf-build-test.yml
Adds additional-tests job that runs after build, installs specified .NET SDK (e.g., 8.0.x) via actions/setup-dotnet, downloads build artifacts, and runs extended tests.
Artifact handling & cleanup
.github/workflows/wf-build-test.yml
Adds artifact download/upload steps and updates clean job dependency so artifact deletion waits for additional-tests; introduces artifact delete action usage.
SDK setup integration
.github/workflows/wf-build-test.yml
Uses actions/setup-dotnet to install SDK versions from the matrix for test jobs.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev as Push/PR
  participant Build as Job: build
  participant Test as Job: test (matrix)
  participant AddTests as Job: additional-tests
  participant Clean as Job: clean
  participant Art as Artifacts

  Dev->>Build: Trigger workflow
  rect rgba(230,240,255,0.5)
    Build-->>Art: Upload build artifacts
  end

  Build-->>Test: needs: build
  par Matrix runs
    Test->>Test: setup per-matrix env (sdk/framework)
    alt matrix.coverage == true
      Test->>Test: dotnet test --collect:"XPlat Code Coverage" (with flags)
    else
      Test->>Test: dotnet test (with --no-build if set)
    end
  end

  Build-->>AddTests: needs: build
  rect rgba(240,255,230,0.5)
    AddTests->>AddTests: actions/setup-dotnet (matrix.sdk)
    AddTests-->>Art: download artifacts
    AddTests->>AddTests: run additional test steps
  end

  AddTests-->>Clean: needs: additional-tests
  rect rgba(255,240,230,0.5)
    Clean-->>Art: delete artifacts
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title directly communicates the main objective of the changeset: enabling concurrent CI test runs. It is concise, free of noise like file lists or emojis, and uses clear, specific phrasing. A teammate scanning the PR history would immediately understand that the workflow now supports parallel testing.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

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
Contributor

@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

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9ed6c79 and 49a4da8.

📒 Files selected for processing (1)
  • .github/workflows/wf-build-test.yml (3 hunks)
⏰ 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). (1)
  • GitHub Check: build

@Shane32 Shane32 requested a review from gfoidl September 30, 2025 23:34
@Shane32 Shane32 merged commit 4d9d6aa into master Oct 1, 2025
13 checks passed
@Shane32 Shane32 deleted the fixci branch October 1, 2025 10:39
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.

3 participants