Skip to content

Commit 29ac2fb

Browse files
committed
Add SourceDependencies to upstream merge and enable Swabra cleanup
- Include SourceDependencies in upstream merge snapshot dependencies - Enable filesCleanup = BEFORE_BUILD in Swabra to clean garbage
1 parent 6499c8a commit 29ac2fb

2 files changed

Lines changed: 339 additions & 334 deletions

File tree

src/PostSharp.Engineering.BuildTools/ContinuousIntegration/TeamCity/Generation/TeamCitySettingsFile.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ internal static bool TryWrite( BuildContext context )
2020
var configurations = new[] { BuildConfiguration.Debug, BuildConfiguration.Release, BuildConfiguration.Public };
2121
var teamCityBuildConfigurations = new List<TeamCityBuildConfiguration>();
2222
var teamCityBuildBuildConfigurations = new Dictionary<BuildConfiguration, TeamCityBuildConfiguration>();
23-
23+
2424
// Create product-level properties once
2525
var productProperties = new ProductProperties( product );
2626

@@ -60,7 +60,7 @@ internal static bool TryWrite( BuildContext context )
6060
additionalArtifactRules );
6161

6262
teamCityBuildConfigurations.Add( teamCityBuildConfiguration );
63-
teamCityBuildBuildConfigurations.Add( configuration, teamCityBuildConfiguration );
63+
teamCityBuildBuildConfigurations.Add( configuration, teamCityBuildConfiguration );
6464

6565
TeamCityBuildConfiguration? teamCityDeploymentConfiguration = null;
6666

@@ -215,14 +215,18 @@ private static TeamCityBuildConfiguration CreateUpstreamMergeConfiguration( Prod
215215
// an upstream repo that haven't been published yet, the build would fail even with correctly
216216
// resolved conflicts. Claude only does git merge and conflict resolution - the PR build
217217
// runs AFTER the merge PR is created, when the dependency chain is complete.
218+
//
219+
// Include both ParametrizedDependencies and SourceDependencies, deduplicated by build type.
218220
var snapshotDependencies =
219221
product.ParametrizedDependencies
220222
.Where( d => d.Definition.GenerateSnapshotDependency && d.Definition.ProductFamily.UpstreamProductFamily != null )
221223
.Select( d => d.Definition )
224+
.Concat( product.SourceDependencies.Where( d => d.GenerateSnapshotDependency && d.ProductFamily.UpstreamProductFamily != null ) )
225+
.DistinctBy( d => d.CiConfiguration.UpstreamMergeBuildType )
222226
.Select( d => new TeamCitySnapshotDependency(
223-
d.CiConfiguration.UpstreamMergeBuildType,
224-
true,
225-
FailureAction: FailureAction.AddProblem ) )
227+
d.CiConfiguration.UpstreamMergeBuildType,
228+
true,
229+
FailureAction: FailureAction.AddProblem ) )
226230
.OrderBy( d => d.ObjectId );
227231

228232
var upstreamMergeConfiguration = new TeamCityBuildConfiguration(

0 commit comments

Comments
 (0)