-
Notifications
You must be signed in to change notification settings - Fork 1
Optimize GitHub workflows: Add --no-build flag to dotnet test and unify release validation with mode flags #276
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
…alidation steps Co-authored-by: devstress <30769729+devstress@users.noreply.github.com>
|
@copilot modify both prerelease and post release validation to use the same projects but will run in different mode with different flag. Default should be prerelease. |
|
@copilot after modify both prerelease and post release validation to use the same project, you must remove the file system the non used solution and folders. |
… validation with mode flags Co-authored-by: devstress <30769729+devstress@users.noreply.github.com>
Done in commit cceef4a. Both pre-release and post-release validation now use the same project (
This applies to all three release workflows (major, minor, patch) and the release-package-validation workflow. |
…mentation Co-authored-by: devstress <30769729+devstress@users.noreply.github.com>
Done in commit 0c2359b. Removed the entire Removed:
Updated documentation:
No references to |
Problem
GitHub workflows were running
dotnet testwithout the--no-buildflag, causing redundant builds that increased CI/CD execution time. Additionally, the pre-release and post-release validation steps in release workflows were not standardized with theReleasePackageValidationworkflow, leading to inconsistent behavior and missing configuration steps. Furthermore, pre-release and post-release validations used separate projects (ReleasePackagesTestingandReleasePackagesTesting.Published) that essentially performed the same tests, creating unnecessary duplication.Solution
This PR implements three key improvements:
1. Add
--no-buildflag to all dotnet test commandsAll workflows now follow the explicit build → test pattern:
This eliminates redundant builds during the test phase, reducing CI/CD execution time by an estimated 10-20 minutes per full release workflow run.
2. Standardize release validation steps
All release workflows (major, minor, patch) now match the
ReleasePackageValidationworkflow structure:Pre-Release Validation:
Post-Release Validation:
3. Unify pre-release and post-release validation with mode flags
Both pre-release and post-release validation now use the same project (
ReleasePackagesTesting/ReleasePackagesTesting.sln) with behavior controlled by theRELEASE_VALIDATION_MODEenvironment variable:Pre-Release Mode (default):
RELEASE_VALIDATION_MODE: "PreRelease"./packagesPost-Release Mode:
RELEASE_VALIDATION_MODE: "PostRelease"This eliminates the duplicate
ReleasePackagesTesting.Publishedproject and reduces maintenance overhead while maintaining the same validation coverage. The entireReleasePackagesTesting.Published/folder (29 files) has been removed from the codebase.Changes
Modified workflows:
release-package-validation.yml- Added build step,--no-buildflag, and PreRelease mode flagrelease-major.yml- Standardized validation steps, unified to single project with mode flags, added build steps and--no-buildflagsrelease-minor.yml- Standardized validation steps, unified to single project with mode flags, added build steps and--no-buildflagsrelease-patch.yml- Standardized validation steps, unified to single project with mode flags, added build steps and--no-buildflagslearningcourse-integration-tests.yml- Added build step and--no-buildflagRemoved:
ReleasePackagesTesting.Published/- Entire folder with 29 files removed (no longer needed)Updated documentation:
docs/RELEASE_PACKAGE_VALIDATION.md- Updated local testing examples to show mode flag usageRELEASE_TESTING.md- Updated to reflect unified validation project with mode flagsReleasePackagesTesting/README.md- Replaced references to Published folder with Validation Modes sectionAlready correct (no changes):
unit-tests.yml✅backpressure-integration-tests.yml✅localtesting-integration-tests.yml✅Benefits
Verification
dotnet testcommands now use--no-buildflagReleasePackagesTesting.Published/folder removed (29 files)Closes #issue_number
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.