diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 9af6b0b91..000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,47 +0,0 @@ -version: 2 -registries: - particular-packages: - type: nuget-feed - url: https://f.feedz.io/particular-software/packages/nuget/index.json -updates: -- package-ecosystem: nuget - directory: "/src" - registries: "*" - schedule: - interval: daily - open-pull-requests-limit: 1000 - groups: - AWSSDK: - patterns: - - "AWSSDK.*" - NServiceBusCore: - patterns: - - "NServiceBus" - - "NServiceBus.AcceptanceTesting" - - "NServiceBus.AcceptanceTests.Sources" - - "NServiceBus.PersistenceTests.Sources" - - "NServiceBus.TransportTests.Sources" - ignore: - # Particular.Analyzers updates are distributed via RepoStandards - - dependency-name: "Particular.Analyzers" - # Changing these 3 dependencies affects the .NET SDK and Visual Studio versions we support - # These types of updates should be more intentional than an automated update - - dependency-name: "Microsoft.Build.Utilities.Core" - - dependency-name: "Microsoft.CodeAnalysis.CSharp" - - dependency-name: "Microsoft.CodeAnalysis.CSharp.Workspaces" -- package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: daily - open-pull-requests-limit: 1000 -- package-ecosystem: "npm" - directory: "/src/Frontend" - schedule: - interval: daily - open-pull-requests-limit: 1000 - groups: - patch-updates: - applies-to: version-updates - update-types: - - "patch" - diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a22a68513..f9b696d07 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ defaults: jobs: build: name: Windows - runs-on: windows-2022 + runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v4.2.2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8b45002dd..a2d8183b3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ defaults: jobs: windows-standalone: if: ${{ github.actor != 'dependabot[bot]' }} - runs-on: windows-2022 + runs-on: windows-latest steps: - name: Check for secrets env: @@ -105,7 +105,7 @@ jobs: octopus-deploy-api-key: ${{ secrets.OCTOPUS_DEPLOY_API_KEY }} linux-container: if: ${{ github.actor != 'dependabot[bot]' }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest name: linux-container defaults: run: @@ -119,6 +119,10 @@ jobs: uses: actions/checkout@v4.2.2 with: fetch-depth: 0 + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4.3.1 + with: + global-json-file: global.json - name: Install MinVer CLI run: dotnet tool install --global minver-cli - name: Determine version diff --git a/.github/workflows/update-dependencies.yml b/.github/workflows/update-dependencies.yml new file mode 100644 index 000000000..8cf258553 --- /dev/null +++ b/.github/workflows/update-dependencies.yml @@ -0,0 +1,24 @@ +name: Update Dependencies +on: + schedule: + # At 14 minutes past the hour, every 6 hours, starting at 3AM UTC + - cron: '14 3/6 * * *' + workflow_dispatch: + inputs: + dryRun: + type: boolean + required: false + default: false + description: Dry run (don't create PRs) + debugMode: + type: boolean + required: false + default: false + description: Run Renovate with debug logging +jobs: + renovate: + uses: particular/shared-workflows/.github/workflows/dependency-updates.yml@main + with: + dryRun: ${{ inputs.dryRun || false }} + debugMode: ${{ inputs.debugMode || false }} + secrets: inherit \ No newline at end of file diff --git a/.gitignore b/.gitignore index 190ac12bc..5bf25ccac 100644 --- a/.gitignore +++ b/.gitignore @@ -67,6 +67,7 @@ build/ bld/ [Bb]in/ [Oo]bj/ +*.binlog # Roslyn cache directories *.ide/ diff --git a/src/.editorconfig b/src/.editorconfig index 6a0594940..a751d64a6 100644 --- a/src/.editorconfig +++ b/src/.editorconfig @@ -41,14 +41,17 @@ dotnet_style_qualification_for_field = false:error dotnet_style_qualification_for_method = false:error dotnet_style_qualification_for_property = false:error +# Namespace/folder matching +dotnet_style_namespace_match_folder = false + # Language keywords vs BCL types preferences dotnet_diagnostic.IDE0049.severity = error dotnet_style_predefined_type_for_locals_parameters_members = true:error dotnet_style_predefined_type_for_member_access = true:error # Modifier preferences -dotnet_diagnostic.IDE0040.severity = error -dotnet_style_require_accessibility_modifiers = omit_if_default:error +dotnet_diagnostic.IDE0040.severity = warning +dotnet_style_require_accessibility_modifiers = omit_if_default:warning # TODO: Change to error dotnet_diagnostic.IDE0044.severity = suggestion @@ -63,8 +66,8 @@ dotnet_style_parentheses_in_other_operators = never_if_unnecessary:error dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:error # Expression-level preferences -dotnet_diagnostic.IDE0017.severity = error -dotnet_style_object_initializer = true:error +dotnet_diagnostic.IDE0017.severity = warning +dotnet_style_object_initializer = true:warning dotnet_diagnostic.IDE0028.severity = error dotnet_style_collection_initializer = true:error @@ -223,22 +226,22 @@ file_header_template = unset dotnet_diagnostic.IDE0001.severity = error dotnet_diagnostic.IDE0002.severity = error dotnet_diagnostic.IDE0004.severity = error -dotnet_diagnostic.IDE0005.severity = error +dotnet_diagnostic.IDE0005.severity = warning dotnet_diagnostic.IDE0035.severity = error -dotnet_diagnostic.IDE0051.severity = error -dotnet_diagnostic.IDE0052.severity = error +dotnet_diagnostic.IDE0051.severity = warning +dotnet_diagnostic.IDE0052.severity = warning # TODO: Change to error dotnet_diagnostic.IDE0058.severity = suggestion csharp_style_unused_value_expression_statement_preference = discard_variable -dotnet_diagnostic.IDE0059.severity = error +dotnet_diagnostic.IDE0059.severity = warning csharp_style_unused_value_assignment_preference = discard_variable -dotnet_diagnostic.IDE0060.severity = error +dotnet_diagnostic.IDE0060.severity = warning dotnet_code_quality_unused_parameters = non_public -dotnet_diagnostic.IDE0079.severity = error +dotnet_diagnostic.IDE0079.severity = error # Diagnostic does not fail build dotnet_remove_unnecessary_suppression_exclusions = none dotnet_diagnostic.IDE0080.severity = error @@ -249,7 +252,7 @@ dotnet_diagnostic.IDE0110.severity = error #### Formatting Rules #### -dotnet_diagnostic.IDE0055.severity = error +dotnet_diagnostic.IDE0055.severity = warning # New line preferences csharp_new_line_before_catch = true @@ -322,6 +325,14 @@ dotnet_naming_rule.fields.style = camel_case dotnet_naming_rule.fields.symbols = fields dotnet_naming_rule.fields.severity = none +dotnet_naming_rule.local_constants.severity = none +dotnet_naming_rule.local_constants.symbols = local_constants +dotnet_naming_rule.local_constants.style = camel_case + +dotnet_naming_rule.local_variables.severity = suggestion +dotnet_naming_rule.local_variables.symbols = local_variables +dotnet_naming_rule.local_variables.style = camel_case + # Symbol specifications dotnet_naming_symbols.interface.applicable_kinds = interface dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected @@ -339,6 +350,12 @@ dotnet_naming_symbols.fields.applicable_kinds = field dotnet_naming_symbols.fields.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected dotnet_naming_symbols.fields.required_modifiers = +dotnet_naming_symbols.local_constants.applicable_kinds = local +dotnet_naming_symbols.local_constants.required_modifiers = const + +dotnet_naming_symbols.local_variables.applicable_kinds = local +dotnet_naming_symbols.local_variables.required_modifiers = + # Naming styles dotnet_naming_style.pascal_case.required_prefix = dotnet_naming_style.pascal_case.required_suffix =