[#4081] Stop building twice in the dotnet functional test pipelines #4611
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #4081
Description
To execute their respective tests, all functional test pipelines test projects must be built and a bot needs to be published as a target. To do so, the pipelines follow a restore, build, publish, and test pattern.
The bot to be deployed project is being built twice, since the build step builds the whole solution, including both the bot to be deployed and the tests projects, and the publish step builds the bot to be deployed as well.
The changes introduced in this branch remove the build steps (including NuGet steps) from all functional test pipelines and reassign building to the publish and test steps for their specific projects, saving approximately 3 minutes on each pipeline execution.
This implementation works best for tests involving a relatively small percentage of projects from a given solution, otherwise, building the whole solution is better since the test task builds all projects found within the specified paths individually.
Specific Changes
--no-build
and--no-restore
from test task.Testing
We tested the new implementation for all functional test and adapter tests (besides Twilio) pipelines.
The following images show execution comparisons between the current and the new implementations for one adapter test and a one functional test respectively:
Slack adapter:

Windows functional test:
