-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
#2034 More rapid CircleCI builds (Part 1) #2045
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Feature 'primary constructors' is available in C# 12.0 or greater. But we use `net6.0` and `net7.0`
CS8936: Feature 'primary constructors' is not available in C# 10, 11.
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs0618 Switch off the warning CS0618 for testing projects.
xUnit1013 Public method 'GivenThereIsAnIdentityServerOn' on test class 'AuthenticationTests' should be marked as a Theory. Reduce the visibility of the method, or add a Theory attribute to the method. CS0618 'FileAuthenticationOptions.AuthenticationProviderKey' is obsolete: 'Use the AuthenticationProviderKeys property!'.
RaynaldM
approved these changes
Apr 12, 2024
ggnaegi
approved these changes
Apr 12, 2024
TODO2nd PartThe 2nd part will address aspects of:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 #2034
1st Part
This is the 1st part, the most substantial, of changes aimed at accelerating CI builds.
The overall duration for PR workflows has been reduced by 3-4 times, from 12-13 minutes to 3-4 minutes. The actual duration varies based on CircleCI server load (daytime, working hours, nighttime).
View the latest CI builds here: raman-m/2034 and note the Duration column❗
2nd Part
The 2nd part will address aspects of:
Proposed Changes
Should_timeout_per_default_after_90_seconds
introduced in #1833 Default timeout(90s) of downstream requests is broken #1834. Refer to ae085c4dotnet test --framework net8.0
command for PR workflows, enabling builds with the .NET 8 SDK only for pull requests (including all commits for feature & develop branches). Refer to c8bbbd2, bb244ebbuild.cake
script. Refer to e008bb7, db3de59, ae3f238, 8bc9907.Cake.Core
package to 4.0.0 cake-contrib/Cake.Coveralls#124 to address the issue reported in Outdated version 1.0.0 of referencedCake.Core
package cake-contrib/Cake.Coveralls#123, aiming to upgrade theCake.Coveralls
package. I'm optimistic about finding the repository Maintainer or team lead. 😁Ocelot.sln
and instead created a newOcelot.Release.sln
(which includes all projects) andOcelot.Samples.sln
(which contains only sample projects). This modification shaved off 1-5 seconds, although the exact duration change is subtle. It appears to be beneficial. Refer to 8dab1c0, 6ecc11f, 32da44f, 524b753, 6983f2a, e7c02b9, bdb2847, 5592ad9, 8ccfecd, d0d2eec, 0f382e0.circleci/config.yml
. Switched offblock_workflow
job (see 88dd110) and it's strange that this job was ran for PR workflow, I found commit fd7c6d7 in git history in which Tom wanted to block multiple concurrent releases a few years ago. So it is not required, and now we have only one workflow running for PR commits, see raman-m/2034 build GitHub checks. So we have only oneci/circleci: build
check now. This is a little but awesome improvement.resource_class
job option withmedium+
value forbuild
job. The old default value wasmedium
implicitly for Docker executor. So, this change won extra 3-5 seconds when doingCompile
task. But in future it will give more benefits when tests will be parallelized. So,medium+
means 3 vCPU andmedium
means 2 vCPU. See commit f0c38f8.editorconfig
was outdated due to multiple Visual Studio releases since its addition (see commit 6469e44 on GitHub). Addressed most critical warnings. Refer to commits 94ce8c9 and dd2f27b for disabled C# 12 features, which were incorrectly flagged for C# 11net7.0
and C# 10net6.0
. The absence of such warnings previously may be attributed to the outdated.editorconfig
not aligning with the latest VS version. The Editor Config has been updated, activating and resolving these warnings.CS0618
warning for testing projects, as warnings aboutObsolete
definitions are unnecessary there. However, for thesrc
folder projects, this warning will remain until code refactoring is completed. See commit fa29b63 and e5b5c5f for details.restore
andbuild
step flags from thedotnet test
command for the unit testing project, as they were redundant given theCompile
task precedes the testing one. This modification saved approximately 10 seconds (see commit fa7e1ec).