-
Notifications
You must be signed in to change notification settings - Fork 0
V9.0.3/package maintenance #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThis update revises package versions, Docker images, and test environments to newer releases. The GitHub workflow is refactored to use reusable workflows, and XML documentation is improved. Test code is streamlined by removing redundant service registrations and simplifying factory method calls. Changelog and release notes are updated. Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant GitHub Actions
participant Reusable Workflows
participant Docker Build
participant Test Runner
Developer->>GitHub Actions: Push code/update
GitHub Actions->>Reusable Workflows: Call build/pack/test/deploy workflows
Reusable Workflows->>Docker Build: Build with updated images (multi-platform)
Reusable Workflows->>Test Runner: Execute tests with updated environment
Reusable Workflows-->>GitHub Actions: Return results/artifacts
GitHub Actions-->>Developer: Report build/test/deploy status
Possibly related PRs
Poem
✨ Finishing Touches
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. 🪧 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 (
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #10 +/- ##
=======================================
Coverage 84.81% 84.81%
=======================================
Files 11 11
Lines 237 237
Branches 9 9
=======================================
Hits 201 201
Misses 36 36 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.docfx/Dockerfile.docfx (1)
6-6
: Use COPY instead of ADD for the documentation folder.
Hadolint [DL3020] recommends replacingADD [".", "docfx"]
withCOPY [".", "docfx"]
to avoid unintended behaviors.- ADD [".", "docfx"] + COPY [".", "docfx"]🧰 Tools
🪛 Hadolint (2.12.0)
[error] 6-6: Use COPY instead of ADD for files and folders
(DL3020)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (9)
.docfx/Dockerfile.docfx
(1 hunks).github/workflows/pipelines.yml
(2 hunks).nuget/Codebelt.Extensions.Swashbuckle.AspNetCore/PackageReleaseNotes.txt
(1 hunks)CHANGELOG.md
(1 hunks)Directory.Packages.props
(1 hunks)src/Codebelt.Extensions.Swashbuckle.AspNetCore/ServiceCollectionExtensions.cs
(1 hunks)test/Codebelt.Extensions.Swashbuckle.AspNetCore.Tests/ServiceCollectionExtensionsTest.cs
(2 hunks)test/Codebelt.Extensions.Swashbuckle.AspNetCore.Tests/SwaggerGenOptionsExtensionsTest.cs
(3 hunks)testenvironments.json
(1 hunks)
🧰 Additional context used
🪛 LanguageTool
.nuget/Codebelt.Extensions.Swashbuckle.AspNetCore/PackageReleaseNotes.txt
[uncategorized] ~11-~11: You might be missing the article “the” here.
Context: ... 8
ALM
- CHANGED Dependencies to latest and greatest with respect to TFMs
V...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[style] ~11-~11: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ...GED Dependencies to latest and greatest with respect to TFMs
Version 9.0.1
Availability: ....
(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
🪛 Hadolint (2.12.0)
.docfx/Dockerfile.docfx
[error] 6-6: Use COPY instead of ADD for files and folders
(DL3020)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: call-codecov / 📊 Code Coverage Analysis
- GitHub Check: call-codeql / 🛡️ Security Analysis
- GitHub Check: call-sonarcloud / 🔬 Code Quality Analysis
🔇 Additional comments (15)
test/Codebelt.Extensions.Swashbuckle.AspNetCore.Tests/SwaggerGenOptionsExtensionsTest.cs (1)
45-45
: LGTM! Test setup simplification looks good.The removal of the explicit
hostFixture: null
parameter fromWebHostTestFactory.Create
calls simplifies the test setup without affecting the test functionality. This aligns well with the PR's objective of streamlining test configurations.Also applies to: 116-116, 187-187
src/Codebelt.Extensions.Swashbuckle.AspNetCore/ServiceCollectionExtensions.cs (1)
21-21
: Excellent documentation improvement!Adding the
<remarks>
tag to clarify thatAddRestfulSwagger()
expects a prior call toservices.AddRestfulApiVersioning()
is very helpful for developers. This makes the dependency explicit and helps prevent configuration errors.test/Codebelt.Extensions.Swashbuckle.AspNetCore.Tests/ServiceCollectionExtensionsTest.cs (1)
46-46
: Good test cleanup!The removal of redundant
services.AddSwaggerGen()
calls streamlines the test setup sinceAddRestfulSwagger()
handles Swagger generation internally. This makes the tests cleaner and more focused on testing the actual functionality.Also applies to: 172-172
Directory.Packages.props (1)
7-18
:❓ Verification inconclusive
Package version updates look appropriate for maintenance release.
All the version bumps appear to be minor/patch updates which is appropriate for a maintenance release. The updates align well with the PR's objective of keeping dependencies current.
However, let's verify these package versions are valid and secure:
🏁 Script executed:
#!/bin/bash # Description: Verify package versions and check for security advisories echo "Checking package versions and security advisories..." # Check NuGet for package versions and security information packages=( "Codebelt.Extensions.Asp.Versioning/9.0.3" "Codebelt.Extensions.Xunit.App/10.0.1" "Cuemon.Extensions.AspNetCore.Mvc.Formatters.Text.Json/9.0.5" "Microsoft.AspNetCore.OpenApi/9.0.5" "Microsoft.NET.Test.Sdk/17.14.0" "Swashbuckle.AspNetCore/8.1.2" "xunit.runner.visualstudio/3.1.0" ) for package in "${packages[@]}"; do IFS='/' read -r name version <<< "$package" echo "Checking $name version $version..." # Check if version exists on NuGet curl -s "https://api.nuget.org/v3-flatcontainer/$name/index.json" | jq -r '.versions[]' | grep -q "^$version$" if [ $? -eq 0 ]; then echo "✓ $name $version exists" else echo "✗ $name $version not found" fi done # Check for known vulnerabilities using GitHub API gh api graphql -f query=' { securityVulnerabilities(first: 10, ecosystem: NUGET, package: "Swashbuckle.AspNetCore") { nodes { advisory { summary severity publishedAt } vulnerableVersionRange firstPatchedVersion { identifier } } } }'Length of output: 4253
Confirm bumped package versions exist in NuGet feed
All of these are patch/minor bumps in Directory.Packages.props (lines 7–18) and look appropriate for a maintenance release. However, the flat-container API check failed because it requires lowercase package IDs, so we haven’t been able to automatically verify that each version is published. Please:
• Verify that each
<PackageVersion Include="…">
value matches the lowercase NuGet package ID.
• Manually confirm on nuget.org (or your private feed) that the specified versions are available.
• Optionally re-run your verification script using lowercase IDs to ensure each package/version exists.CHANGELOG.md (1)
10-12
: Changelog entry for version 9.0.3 is clear and accurate.
The new entry correctly follows the existing format and documents the package dependency update.testenvironments.json (1)
12-12
: Updated test environment Docker image tag.
ThedockerImage
tag has been bumped tonet8.0.409-9.0.300
as intended. Ensure this image is available in the registry..docfx/Dockerfile.docfx (1)
1-1
: Added multi-platform build support via--platform
directive.
TheFROM
statements for the base and build stages now include--platform=$BUILDPLATFORM
, enabling cross-platform builds. This aligns well with the updated CI/CD workflows.Also applies to: 4-4, 11-11
.nuget/Codebelt.Extensions.Swashbuckle.AspNetCore/PackageReleaseNotes.txt (4)
1-2
: New release entry for version 9.0.3 is accurate.
The version header and availability platforms are correct.
4-5
: Release note description for 9.0.3 is clear.
The bullet correctly reflects the dependency upgrades.
7-8
: New release entry for version 9.0.2 is accurate.
The version header and availability platforms are correct.
10-11
: Release note description for 9.0.2 is consistent.
The bullet accurately documents the dependency updates.🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: You might be missing the article “the” here.
Context: ... 8
ALM
- CHANGED Dependencies to latest and greatest with respect to TFMs
V...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[style] ~11-~11: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ...GED Dependencies to latest and greatest with respect to TFMs
Version 9.0.1
Availability: ....(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
.github/workflows/pipelines.yml (4)
26-36
: Refactoredbuild
job to use reusable workflow.
The job is renamed tocall-build
and correctly invokesjobs-dotnet-build
with matrix-drivenconfiguration
and strong-name key input along with GCP secrets. This reduces duplication and aligns with the new CI/CD strategy.
39-48
: Streamlinedpack
job via reusable workflow.
Thecall-pack
job now depends onbuild
and leveragesjobs-dotnet-pack
, passing configuration, artifact upload flag, and version output. Looks good.
51-62
: Simplifiedtest
job with reusable workflow.
Thecall-test
job now usesjobs-dotnet-test
with OS and configuration matrix and appropriate build switches. This is consistent and maintainable.
92-93
: Updateddeploy
job to usejobs-nuget-push
.
Gated deployment on all prior jobs and switched to the new NuGet push workflow. This aligns with the CI/CD improvements.
This pull request includes updates across multiple areas, including dependency upgrades, workflow optimizations, and minor code and test adjustments. The most significant changes focus on upgrading dependencies, improving CI/CD workflows by reusing modular workflows, and refining code and test implementations.
Dependency Upgrades:
Directory.Packages.props
, includingCodebelt.Extensions.Asp.Versioning
to9.0.3
,Swashbuckle.AspNetCore
to8.1.2
, and others. These upgrades ensure compatibility with the latest features and bug fixes.testenvironments.json
to usegimlichael/ubuntu-testrunner:net8.0.409-9.0.300
.CI/CD Workflow Improvements:
.github/workflows/pipelines.yml
file by replacing inline job definitions with reusable workflows forbuild
,pack
,test
, andnuget
tasks. This reduces redundancy and improves maintainability. [1] [2]Documentation Updates:
CHANGELOG.md
andPackageReleaseNotes.txt
with details about new versions, including9.0.3
, which focuses on dependency updates for supported target frameworks. [1] [2]Code Enhancements:
<remarks>
tag to theAddRestfulSwagger
method inServiceCollectionExtensions.cs
to clarify the expected call order for proper configuration.Test Adjustments:
services.AddSwaggerGen()
calls in multiple test methods to streamline test setups inServiceCollectionExtensionsTest.cs
andSwaggerGenOptionsExtensionsTest.cs
. [1] [2] [3] [4] [5]Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Chores