Skip to content

Commit 91c1cd7

Browse files
[Rollout] Production rollout 2025-04-29 (#4760)
<!-- Link the GitHub or AzDO issue this pull request is associated with. Please copy and paste the full URL rather than using the dotnet/arcade-services# syntax --> Rollout issue: #4758
2 parents a4be482 + 9551666 commit 91c1cd7

File tree

40 files changed

+321
-190
lines changed

40 files changed

+321
-190
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: VMR codeflow issue
2+
description: Report an issue with VMR codeflow PRs
3+
body:
4+
- type: input
5+
id: prUrl
6+
attributes:
7+
label: Pull request
8+
description: Enter link to a pull request in which the issue is observed
9+
validations:
10+
required: true
11+
- type: dropdown
12+
id: type
13+
attributes:
14+
label: Type of problem
15+
description: What problem are you experiencing?
16+
options:
17+
- Missing/incomplete documentation
18+
- Incorrect contents in the PR
19+
- Codeflow PRs not getting created
20+
- Unexpected behavior in the PR (e.g. conflicts, EOLs, mangled files, ..)
21+
- Problem with version files (Versions.Details.xml, Versions.props, global.json, ..)
22+
- General help required
23+
default: 0
24+
validations:
25+
required: true
26+
- type: textarea
27+
attributes:
28+
label: Description of the issue
29+
description: Provide any details that could help with the investigation (subscription information, link to associated commits..).
30+
validations:
31+
required: true
32+
- type: markdown
33+
attributes:
34+
value: |
35+
## Additional information
36+
If asking for general assistance, please make sure you've checked the [codeflow documentation](https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/VMR-Full-Code-Flow.md)

docs/DevGuide.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,20 @@
33
1. Install the latest Preview VS.
44
- Be sure to install the `Azure Development => .NET Aspire SDK (Preview)` optional workload in the VS installer
55
- Be sure to install the `ASP.NET and web development` => `.NET 8.0/9.0 WebAssembly Build Tools`
6-
1. Install Docker Desktop: https://www.docker.com/products/docker-desktop
7-
1. Configure git to support long paths:
6+
2. Install Docker Desktop: https://www.docker.com/products/docker-desktop
7+
3. Configure git to support long paths:
88
```ps1
99
git config --system core.longpaths true # you will need elevated shell for this one
1010
git config --global core.longpaths true
1111
```
12-
1. Install SQL Server Express: https://www.microsoft.com/en-us/sql-server/sql-server-downloads
13-
1. Install Entity Framework Core CLI by running `dotnet tool install --global dotnet-ef`
14-
1. Build the `src\Maestro\Maestro.Data\Maestro.Data.csproj` project (either from console or from IDE)
15-
1. From the `src\Maestro\Maestro.Data` project directory, run `dotnet ef --msbuildprojectextensionspath <full path to obj dir for Maestro repo (e.g. "C:\arcade-services\artifacts\obj\Maestro.Data\")> database update`
12+
4. Install SQL Server Express: https://www.microsoft.com/en-us/sql-server/sql-server-downloads
13+
5. Install Entity Framework Core CLI by running `dotnet tool install --global dotnet-ef`
14+
6. Build the `src\Maestro\Maestro.Data\Maestro.Data.csproj` project (either from console or from IDE)
15+
7. From the `src\Maestro\Maestro.Data` project directory, run `dotnet ef --msbuildprojectextensionspath <full path to obj dir for Maestro repo (e.g. "C:\arcade-services\artifacts\obj\Maestro.Data\")> database update`
1616
- Note that the generated files are in the root artifacts folder, not the artifacts folder within the `Maestro.Data` project folder
17-
1. Join the `maestro-auth-test` org in GitHub (you will need to ask someone to manually add you to the org)
18-
1. Make sure you can read the `ProductConstructionDev` keyvault. If you can't, ask someone to add you to the keyvault
19-
1. In SQL Server Object Explorer in Visual Studio, find the local SQLExpress database for the build asset registry and populate the Repositories table with the following rows:
17+
8. Join the `maestro-auth-test` org in GitHub (you will need to ask someone to manually add you to the org)
18+
9. Make sure you can read the `ProductConstructionDev` keyvault. If you can't, ask someone to add you to the keyvault
19+
10. In SQL Server Object Explorer in Visual Studio, find the local SQLExpress database for the build asset registry and populate the Repositories table with the following rows:
2020
2121
```sql
2222
INSERT INTO [Repositories] (RepositoryName, InstallationId) VALUES

eng/Version.Details.xml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -59,29 +59,29 @@
5959
</Dependency>
6060
</ProductDependencies>
6161
<ToolsetDependencies>
62-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.25214.7">
62+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.25225.5">
6363
<Uri>https://github.com/dotnet/arcade</Uri>
64-
<Sha>c487e860d456cda2580600ad81fd425d3bba21f7</Sha>
64+
<Sha>d3c4c4644a5af855cd30944d9221886369ab375d</Sha>
6565
</Dependency>
66-
<Dependency Name="Microsoft.DotNet.SignTool" Version="8.0.0-beta.25214.7">
66+
<Dependency Name="Microsoft.DotNet.SignTool" Version="8.0.0-beta.25225.5">
6767
<Uri>https://github.com/dotnet/arcade</Uri>
68-
<Sha>c487e860d456cda2580600ad81fd425d3bba21f7</Sha>
68+
<Sha>d3c4c4644a5af855cd30944d9221886369ab375d</Sha>
6969
</Dependency>
70-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="8.0.0-beta.25214.7">
70+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="8.0.0-beta.25225.5">
7171
<Uri>https://github.com/dotnet/arcade</Uri>
72-
<Sha>c487e860d456cda2580600ad81fd425d3bba21f7</Sha>
72+
<Sha>d3c4c4644a5af855cd30944d9221886369ab375d</Sha>
7373
</Dependency>
74-
<Dependency Name="Microsoft.DotNet.SwaggerGenerator.MSBuild" Version="8.0.0-beta.25214.7">
74+
<Dependency Name="Microsoft.DotNet.SwaggerGenerator.MSBuild" Version="8.0.0-beta.25225.5">
7575
<Uri>https://github.com/dotnet/arcade</Uri>
76-
<Sha>c487e860d456cda2580600ad81fd425d3bba21f7</Sha>
76+
<Sha>d3c4c4644a5af855cd30944d9221886369ab375d</Sha>
7777
</Dependency>
78-
<Dependency Name="Microsoft.DotNet.Git.IssueManager" Version="8.0.0-beta.25214.7">
78+
<Dependency Name="Microsoft.DotNet.Git.IssueManager" Version="8.0.0-beta.25225.5">
7979
<Uri>https://github.com/dotnet/arcade</Uri>
80-
<Sha>c487e860d456cda2580600ad81fd425d3bba21f7</Sha>
80+
<Sha>d3c4c4644a5af855cd30944d9221886369ab375d</Sha>
8181
</Dependency>
82-
<Dependency Name="Microsoft.DotNet.VersionTools" Version="8.0.0-beta.25214.7">
82+
<Dependency Name="Microsoft.DotNet.VersionTools" Version="8.0.0-beta.25225.5">
8383
<Uri>https://github.com/dotnet/arcade</Uri>
84-
<Sha>c487e860d456cda2580600ad81fd425d3bba21f7</Sha>
84+
<Sha>d3c4c4644a5af855cd30944d9221886369ab375d</Sha>
8585
</Dependency>
8686
<Dependency Name="Microsoft.DncEng.SecretManager" Version="1.1.0-beta.25210.1">
8787
<Uri>https://github.com/dotnet/dnceng</Uri>

eng/Versions.props

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
<UsingToolNetFrameworkReferenceAssemblies>true</UsingToolNetFrameworkReferenceAssemblies>
1010
<MicrosoftNetFrameworkReferenceAssembliesVersion>1.0.0-preview.1</MicrosoftNetFrameworkReferenceAssembliesVersion>
1111
<!-- Libs -->
12-
<MicrosoftDotNetSignToolVersion>8.0.0-beta.25214.7</MicrosoftDotNetSignToolVersion>
13-
<MicrosoftDotNetBuildTasksFeedVersion>8.0.0-beta.25214.7</MicrosoftDotNetBuildTasksFeedVersion>
14-
<MicrosoftDotNetSwaggerGeneratorMSBuildVersion>8.0.0-beta.25214.7</MicrosoftDotNetSwaggerGeneratorMSBuildVersion>
15-
<MicrosoftDotNetGitIssueManagerVersion>8.0.0-beta.25214.7</MicrosoftDotNetGitIssueManagerVersion>
16-
<MicrosoftDotNetVersionToolsVersion>8.0.0-beta.25214.7</MicrosoftDotNetVersionToolsVersion>
12+
<MicrosoftDotNetSignToolVersion>8.0.0-beta.25225.5</MicrosoftDotNetSignToolVersion>
13+
<MicrosoftDotNetBuildTasksFeedVersion>8.0.0-beta.25225.5</MicrosoftDotNetBuildTasksFeedVersion>
14+
<MicrosoftDotNetSwaggerGeneratorMSBuildVersion>8.0.0-beta.25225.5</MicrosoftDotNetSwaggerGeneratorMSBuildVersion>
15+
<MicrosoftDotNetGitIssueManagerVersion>8.0.0-beta.25225.5</MicrosoftDotNetGitIssueManagerVersion>
16+
<MicrosoftDotNetVersionToolsVersion>8.0.0-beta.25225.5</MicrosoftDotNetVersionToolsVersion>
1717
<MicrosoftNetTestSdkVersion>17.4.1</MicrosoftNetTestSdkVersion>
1818
<MicrosoftDotNetInternalLoggingVersion>1.1.0-beta.25215.1</MicrosoftDotNetInternalLoggingVersion>
1919
<MicrosoftAspNetCoreApiPaginationVersion>1.1.0-beta.25215.1</MicrosoftAspNetCoreApiPaginationVersion>

eng/common/templates-official/job/source-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454
pool:
5555
${{ if eq(variables['System.TeamProject'], 'public') }}:
5656
name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore-Svc-Public' ), False, 'NetCore-Public')]
57-
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
57+
demands: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open
5858

5959
${{ if eq(variables['System.TeamProject'], 'internal') }}:
6060
name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore1ESPool-Svc-Internal'), False, 'NetCore1ESPool-Internal')]

eng/common/templates-official/job/source-index-stage1.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
parameters:
22
runAsPublic: false
3-
sourceIndexUploadPackageVersion: 2.0.0-20240502.12
4-
sourceIndexProcessBinlogPackageVersion: 1.0.1-20240129.2
3+
sourceIndexUploadPackageVersion: 2.0.0-20250425.2
4+
sourceIndexProcessBinlogPackageVersion: 1.0.1-20250425.2
55
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
66
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
77
preSteps: []

eng/common/templates/job/source-build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ jobs:
5454
pool:
5555
${{ if eq(variables['System.TeamProject'], 'public') }}:
5656
name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore-Svc-Public' ), False, 'NetCore-Public')]
57-
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
57+
demands: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open
5858

5959
${{ if eq(variables['System.TeamProject'], 'internal') }}:
6060
name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore1ESPool-Svc-Internal'), False, 'NetCore1ESPool-Internal')]
61-
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
61+
demands: ImageOverride -equals Build.Ubuntu.2204.Amd64
6262

6363
${{ if ne(parameters.platform.pool, '') }}:
6464
pool: ${{ parameters.platform.pool }}

eng/common/templates/job/source-index-stage1.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
parameters:
22
runAsPublic: false
3-
sourceIndexUploadPackageVersion: 2.0.0-20240502.12
4-
sourceIndexProcessBinlogPackageVersion: 1.0.1-20240129.2
3+
sourceIndexUploadPackageVersion: 2.0.0-20250425.2
4+
sourceIndexProcessBinlogPackageVersion: 1.0.1-20250425.2
55
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
66
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
77
preSteps: []

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
}
1616
},
1717
"msbuild-sdks": {
18-
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25214.7"
18+
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25225.5"
1919
}
2020
}

src/Maestro/Maestro.Common/AzureDevOpsTokens/AzureDevOpsTokenProvider.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
using Azure.Identity;
77
using Maestro.Common.AppCredentials;
88
using Microsoft.Extensions.Options;
9-
using Microsoft.DncEng.Configuration.Extensions;
109

1110
namespace Maestro.Common.AzureDevOpsTokens;
1211

src/Maestro/Maestro.MergePolicies/AllChecksSuccessfulMergePolicy.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,15 @@ int ListChecksCount(CheckState state)
5656
{
5757
listChecks.AppendLine($"[{status.Name}]({status.Url})");
5858
}
59-
return Fail($"{ListChecksCount(CheckState.Error)} unsuccessful check(s)", listChecks.ToString());
59+
return FailTransiently($"{ListChecksCount(CheckState.Error)} unsuccessful check(s)", listChecks.ToString());
6060
}
6161

6262
if (statuses.Contains(CheckState.Pending))
6363
{
6464
return Pending($"{ListChecksCount(CheckState.Pending)} pending check(s)");
6565
}
6666

67-
return Succeed($"{ListChecksCount(CheckState.Success)} successful check(s)");
67+
return SucceedTransiently($"{ListChecksCount(CheckState.Success)} successful check(s)");
6868
}
6969
}
7070

src/Maestro/Maestro.MergePolicies/BackFlowMergePolicy.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public override async Task<MergePolicyEvaluationResult> EvaluateAsync(PullReques
2525
}
2626
catch (System.Xml.XmlException e)
2727
{
28-
return Fail($"Error reading file `{VersionFiles.VersionDetailsXml}`",
28+
return FailDecisively($"Error reading file `{VersionFiles.VersionDetailsXml}`",
2929
$"""
3030
### Error: failed to parse file `{VersionFiles.VersionDetailsXml}`.
3131
The file `{VersionFiles.VersionDetailsXml}` is corrupted or improperly structured.
@@ -37,7 +37,7 @@ The file `{VersionFiles.VersionDetailsXml}` is corrupted or improperly structure
3737
{
3838
// Here also, DarcException is an xml parsing exception... that's how the version details parser throws it
3939
// messasges from DarcException types should be safe to expose to the client
40-
return Fail($"Failed to parse file `{VersionFiles.VersionDetailsXml}`",
40+
return FailDecisively($"Failed to parse file `{VersionFiles.VersionDetailsXml}`",
4141
$"""
4242
### Error: failed to parse file `{VersionFiles.VersionDetailsXml}`.
4343
There was some unexpected or missing information in the file.
@@ -47,7 +47,7 @@ There was some unexpected or missing information in the file.
4747
}
4848
catch (Exception)
4949
{
50-
return Fail(
50+
return FailTransiently(
5151
$"Failed to retrieve file `{VersionFiles.VersionDetailsXml}`",
5252
$"""
5353
### Error: unexpected server error.
@@ -66,10 +66,10 @@ This could be due to a temporary exception and may be resolved automatically wit
6666
configurationErrorsHeader,
6767
string.Join(Environment.NewLine, configurationErrors),
6868
SeekHelpMsg);
69-
return Fail($"Missing or mismatched values found in `{VersionFiles.VersionDetailsXml}`", failureMessage);
69+
return FailDecisively($"Missing or mismatched values found in `{VersionFiles.VersionDetailsXml}`", failureMessage);
7070
}
7171

72-
return Succeed($"Backflow checks succeeded.");
72+
return SucceedDecisively($"Backflow checks succeeded.");
7373
}
7474

7575
private static List<string> CalculateConfigurationErrors(

src/Maestro/Maestro.MergePolicies/DontAutomergeDowngradesMergePolicy.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,18 @@ public override Task<MergePolicyEvaluationResult> EvaluateAsync(PullRequestUpdat
2929
you can ignore the check in this case.
3030
If you think this PR should merge but lack permission to override this check, consider finding an admin or recreating the pull request manually.
3131
If you feel you are seeing this message in error, please contact the dnceng team.";
32-
return Task.FromResult(Fail(errorMessage));
32+
return Task.FromResult(FailDecisively(errorMessage));
3333
}
3434
else
3535
{
3636
return Task.FromResult(
37-
Succeed("No version downgrade detected and all specified versions semantically valid."));
37+
SucceedDecisively("No version downgrade detected and all specified versions semantically valid."));
3838
}
3939
}
4040
catch (Exception e)
4141
{
4242
return Task.FromResult(
43-
Fail($"Failed to check version downgrades. Aborting auto-merge. {e.Message}"));
43+
FailTransiently($"Failed to check version downgrades. Aborting auto-merge. {e.Message}"));
4444
}
4545
}
4646

src/Maestro/Maestro.MergePolicies/ForwardFlowMergePolicy.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public override async Task<MergePolicyEvaluationResult> EvaluateAsync(PullReques
2222
}
2323
catch (Exception)
2424
{
25-
return Fail(
25+
return FailTransiently(
2626
"Error while retrieving source manifest",
2727
$"An issue occurred while retrieving the source manifest. This could be due to a misconfiguration of the `{VmrInfo.DefaultRelativeSourceManifestPath}` file, or because of a server error."
2828
+ SeekHelpMsg);
@@ -33,7 +33,7 @@ public override async Task<MergePolicyEvaluationResult> EvaluateAsync(PullReques
3333
if (!TryCreateBarIdDictionaryFromSourceManifest(sourceManifest, out repoNamesToBarIds) ||
3434
!TryCreateCommitShaDictionaryFromSourceManifest(sourceManifest, out repoNamesToCommitSha))
3535
{
36-
return Fail(
36+
return FailDecisively(
3737
"The source manifest file is malformed",
3838
$"Duplicate repository URIs were found in {VmrInfo.DefaultRelativeSourceManifestPath}." + SeekHelpMsg);
3939
}
@@ -46,10 +46,10 @@ public override async Task<MergePolicyEvaluationResult> EvaluateAsync(PullReques
4646
configurationErrorsHeader,
4747
string.Join(Environment.NewLine, configurationErrors),
4848
SeekHelpMsg);
49-
return Fail($"Missing or mismatched values found in {VmrInfo.DefaultRelativeSourceManifestPath}", failureMessage);
49+
return FailDecisively($"Missing or mismatched values found in {VmrInfo.DefaultRelativeSourceManifestPath}", failureMessage);
5050
}
5151

52-
return Succeed($"Forward-flow checks succeeded.");
52+
return SucceedDecisively($"Forward-flow checks succeeded.");
5353
}
5454

5555
private static List<string> CalculateConfigurationErrors(

src/Maestro/Maestro.MergePolicies/MergePolicy.cs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,18 @@ public string Name
5050

5151
public abstract Task<MergePolicyEvaluationResult> EvaluateAsync(PullRequestUpdateSummary pr, IRemote darc);
5252

53-
public MergePolicyEvaluationResult Pending(string title) => new(MergePolicyEvaluationStatus.Pending, title, string.Empty, this);
53+
public MergePolicyEvaluationResult Pending(string title) => new(MergePolicyEvaluationStatus.Pending, title, string.Empty, this.Name, this.DisplayName);
5454

55-
public MergePolicyEvaluationResult Succeed(string title) => new(MergePolicyEvaluationStatus.Success, title, string.Empty, this);
55+
public MergePolicyEvaluationResult SucceedDecisively(string title) => new(MergePolicyEvaluationStatus.DecisiveSuccess, title, string.Empty, this.Name, this.DisplayName);
56+
public MergePolicyEvaluationResult SucceedTransiently(string title) => new(MergePolicyEvaluationStatus.TransientSuccess, title, string.Empty, this.Name, this.DisplayName);
5657

57-
public MergePolicyEvaluationResult Fail(string title) => new(MergePolicyEvaluationStatus.Failure, title, string.Empty, this);
58+
public MergePolicyEvaluationResult FailDecisively(string title) => new(MergePolicyEvaluationStatus.DecisiveFailure, title, string.Empty, this.Name, this.DisplayName);
5859

59-
public MergePolicyEvaluationResult Fail(string title, string message) => new(MergePolicyEvaluationStatus.Failure, title, message, this);
60+
public MergePolicyEvaluationResult FailTransiently(string title) => new(MergePolicyEvaluationStatus.TransientFailure, title, string.Empty, this.Name, this.DisplayName);
61+
62+
public MergePolicyEvaluationResult FailDecisively(string title, string message) => new(MergePolicyEvaluationStatus.DecisiveFailure, title, message, this.Name, this.DisplayName);
63+
64+
public MergePolicyEvaluationResult FailTransiently(string title, string message) => new(MergePolicyEvaluationStatus.TransientFailure, title, message, this.Name, this.DisplayName);
6065
}
6166

6267
public interface IMergePolicy : IMergePolicyInfo

src/Maestro/Maestro.MergePolicies/NoRequestedChangesMergePolicy.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ public override async Task<MergePolicyEvaluationResult> EvaluateAsync(PullReques
2020

2121
if (reviews.Any(r => r.Status == ReviewState.ChangesRequested || r.Status == ReviewState.Rejected))
2222
{
23-
return Fail("There are reviews that have requested changes.");
23+
return FailTransiently("There are reviews that have requested changes.");
2424
}
2525
else
2626
{
27-
return Succeed("No reviews have requested changes.");
27+
return SucceedTransiently("No reviews have requested changes.");
2828
}
2929
}
3030
}

0 commit comments

Comments
 (0)