Skip to content
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

BDN API Compatibility Alert #115

Closed
github-actions bot opened this issue Aug 26, 2022 · 0 comments · Fixed by #118
Closed

BDN API Compatibility Alert #115

github-actions bot opened this issue Aug 26, 2022 · 0 comments · Fixed by #118

Comments

@github-actions
Copy link

github-actions bot commented Aug 26, 2022

Workflow BDN API Compatibility Check Run #89

BDN 0.13.1.1864 vs. 0.13.1.1867

ApiCompat

CannotSealType   : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn
    // Type BenchmarkDotNet.Columns.BaselineAllocationRatioColumn
    // is effectively (has a private constructor) sealed in the implementation but not sealed in the contract.
MembersMustExist : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn..ctor()
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.Category
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.Category.get()
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.ColumnName
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.ColumnName.get()
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.GetValue(Summary, BenchmarkCase, Statistics, IReadOnlyDictionary<String, Metric>, Statistics, IReadOnlyDictionary<String, Metric>, Boolean)
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.Id
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.Id.get()
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.IsNumeric
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.IsNumeric.get()
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.Legend
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.Legend.get()
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.PriorityInCategory
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.PriorityInCategory.get()
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.UnitType
CannotMakeMemberNonVirtual : BenchmarkDotNet.Columns.BaselineAllocationRatioColumn.UnitType.get()
InterfacesShouldHaveSameMembers : BenchmarkDotNet.Configs.IConfig.GetColumnHidingRules()
CannotChangeAttribute : BenchmarkDotNet.ConsoleArguments.CommandLineOptions.MaxParameterColumnWidth
    // Attribute CommandLine.OptionAttribute
    // on BenchmarkDotNet.ConsoleArguments.CommandLineOptions.MaxParameterColumnWidth
    // changed from [OptionAttribute("maxWidth", Required=false, HelpText="Max paramter column width, the default is 20.")]
    // in the contract to [OptionAttribute("maxWidth", Required=false, HelpText="Max parameter column width, the default is 20.")]
    // in the implementation.
MembersMustExist : BenchmarkDotNet.Reports.Summary..ctor(String, ImmutableArray<BenchmarkReport>, HostEnvironmentInfo, String, String, TimeSpan, CultureInfo, ImmutableArray<ValidationError>)
MembersMustExist : BenchmarkDotNet.Reports.SummaryTable.SummaryTableColumn..ctor(SummaryTable, Int32, IColumn)

AsmDiff

BenchmarkDotNet.Analysers
 namespace BenchmarkDotNet.Analysers {
+    public class HideColumnsAnalyser : AnalyserBase
 }
BenchmarkDotNet.Attributes
 namespace BenchmarkDotNet.Attributes {
+    public class HideColumnsAttribute : Attribute, IConfigSource
 }
BenchmarkDotNet.Columns
 namespace BenchmarkDotNet.Columns {
     public class BaselineAllocationRatioColumn : BaselineCustomColumn {
+        public static readonly IColumn RatioMean;
-        public BaselineAllocationRatioColumn();
     }
+    public static class Column
+    public class ColumnHidingByIdRule : IColumnHidingRule
+    public class ColumnHidingByNameRule : IColumnHidingRule
+    public interface IColumnHidingRule
 }
BenchmarkDotNet.Configs
 namespace BenchmarkDotNet.Configs {
     public static class ConfigExtensions {
+        public static ManualConfig HideColumns(this IConfig config, params IColumnHidingRule[] rules);
+        public static ManualConfig HideColumns(this IConfig config, params IColumn[] columns);
+        public static ManualConfig HideColumns(this IConfig config, params string[] columnNames);
     }
     public abstract class DebugConfig : IConfig {
+        public IEnumerable<IColumnHidingRule> GetColumnHidingRules();
     }
     public class DefaultConfig : IConfig {
+        public IEnumerable<IColumnHidingRule> GetColumnHidingRules();
     }
     public interface IConfig {
+        IEnumerable<IColumnHidingRule> GetColumnHidingRules();
     }
     public sealed class ImmutableConfig : IConfig {
+        public IEnumerable<IColumnHidingRule> GetColumnHidingRules();
     }
     public class ManualConfig : IConfig {
+        public IEnumerable<IColumnHidingRule> GetColumnHidingRules();
+        public ManualConfig HideColumns(params IColumnHidingRule[] rules);
+        public ManualConfig HideColumns(params IColumn[] columns);
+        public ManualConfig HideColumns(params string[] columnNames);
     }
 }
BenchmarkDotNet.ConsoleArguments
 namespace BenchmarkDotNet.ConsoleArguments {
     public class CommandLineOptions {
+        public IEnumerable<string> HiddenColumns { get; set; }
     }
 }
BenchmarkDotNet.Reports
 namespace BenchmarkDotNet.Reports {
     public class Summary {
-        public Summary(string title, ImmutableArray<BenchmarkReport> reports, HostEnvironmentInfo hostEnvironmentInfo, string resultsDirectoryPath, string logFilePath, TimeSpan totalTime, CultureInfo cultureInfo, ImmutableArray<ValidationError> validationErrors);
+        public Summary(string title, ImmutableArray<BenchmarkReport> reports, HostEnvironmentInfo hostEnvironmentInfo, string resultsDirectoryPath, string logFilePath, TimeSpan totalTime, CultureInfo cultureInfo, ImmutableArray<ValidationError> validationErrors, ImmutableArray<IColumnHidingRule> columnHidingRules);
+        public ImmutableArray<IColumnHidingRule> ColumnHidingRules { get; }
+        public bool IsMultipleRuntimes { get; }
     }
     public class SummaryTable {
         public class SummaryTableColumn {
-            public SummaryTableColumn(SummaryTable table, int index, IColumn column);
+            public SummaryTableColumn(SummaryTable table, int index, IColumn column, bool hide = false);
         }
     }
 }

AttrDiff

PublicAPIAttribute
+T:BenchmarkDotNet.Attributes.HideColumnsAttribute
+T:BenchmarkDotNet.Columns.Column
+T:BenchmarkDotNet.Columns.ColumnHidingByIdRule
+T:BenchmarkDotNet.Columns.ColumnHidingByNameRule
+M:BenchmarkDotNet.Configs.ConfigExtensions.HideColumns(IConfig, params IColumn[])
+M:BenchmarkDotNet.Configs.ConfigExtensions.HideColumns(IConfig, params IColumnHidingRule[])
+M:BenchmarkDotNet.Configs.ConfigExtensions.HideColumns(IConfig, params string[])
+M:BenchmarkDotNet.Configs.ManualConfig.HideColumns(params IColumn[])
+M:BenchmarkDotNet.Configs.ManualConfig.HideColumns(params IColumnHidingRule[])
+M:BenchmarkDotNet.Configs.ManualConfig.HideColumns(params string[])
+P:BenchmarkDotNet.Reports.Summary.ColumnHidingRules

BDN 0.13.1 vs. 0.13.1.1867

Breaking changes. See log artifacts of workflow run for details.

mawosoft added a commit that referenced this issue Aug 28, 2022
- Bump BDN dependency to 0.13.2 and remove transitive pinning for System.Management.
- Bump SDK version to 6.0.400 in global.json.
- Resync ApiCompat wrappers for 0.13.2 (drop support for older versions)
- Adjust tests for API changes in 0.13.2
Closes #116, closes #115, closes #104.
Contributes to #117.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

0 participants