From 7e72f76f61dd4626a9b4d106bc6ac89bdfc01c18 Mon Sep 17 00:00:00 2001 From: Maksym Sadovnychyy Date: Sun, 28 Jun 2026 11:34:51 +0200 Subject: [PATCH] (chore): update utils layout and dapr deps --- .gitignore | 4 +- CHANGELOG.md | 7 +- CONTRIBUTING.md | 24 ++-- .../MaksIT.Dapr.Tests.csproj | 2 +- src/MaksIT.Dapr/MaksIT.Dapr.csproj | 12 +- {src => utils}/Force-AmendTaggedCommit.bat | 0 {src => utils}/Invoke-ReleasePackage.bat | 0 {src => utils}/Invoke-TestEngine.bat | 0 {src => utils}/Update-RepoUtils.bat | 0 .../engines/release/Invoke-ReleasePackage.ps1 | 80 +++++++++++ utils/engines/release/custom/.gitkeep | 1 + utils/engines/release/scriptSettings.json | 133 ++++++++++++++++++ .../engines/test/Invoke-TestEngine.ps1 | 0 {src => utils}/engines/test/custom/.gitkeep | 0 .../engines/test/scriptSettings.json | 2 +- {src => utils}/modules/ChangelogSupport.psm1 | 0 .../modules/Engine/EngineContext.psm1 | 0 .../modules/Engine/Import-EngineModules.ps1 | 0 .../modules/Engine/PluginSupport.psm1 | 0 .../modules/Engine/ReleaseSupport.psm1 | 0 .../modules/Engine/TestSupport.psm1 | 0 {src => utils}/modules/GitTools.psm1 | 0 {src => utils}/modules/Logging.psm1 | 0 {src => utils}/modules/ScriptConfig.psm1 | 0 {src => utils}/modules/TestRunner.psm1 | 0 .../DotNet/DotNetCleanupArtifacts.psm1 | 0 .../plugins/DotNet/DotNetCreateArchive.psm1 | 0 .../plugins/DotNet/DotNetDockerPush.psm1 | 0 .../plugins/DotNet/DotNetHelmPush.psm1 | 0 .../plugins/DotNet/DotNetNuGet.psm1 | 0 {src => utils}/plugins/DotNet/DotNetPack.psm1 | 0 .../plugins/DotNet/DotNetPublish.psm1 | 0 .../plugins/DotNet/DotNetReleaseVersion.psm1 | 0 {src => utils}/plugins/DotNet/DotNetTest.psm1 | 0 {src => utils}/plugins/Npm/NpmBuild.psm1 | 0 {src => utils}/plugins/Npm/NpmJestTest.psm1 | 0 {src => utils}/plugins/Npm/NpmPublish.psm1 | 0 .../plugins/Npm/NpmReleaseVersion.psm1 | 0 .../plugins/Platform/CoverageBadges.psm1 | 0 {src => utils}/plugins/Platform/GitHub.psm1 | 0 .../plugins/Platform/QualityGate.psm1 | 0 .../plugins/Platform/ReleasePublishGuard.psm1 | 0 .../Force-AmendTaggedCommit.ps1 | 0 .../scriptSettings.json | 0 .../Update-RepoUtils/Update-RepoUtils.ps1 | 0 .../Update-RepoUtils/scriptSettings.json | 0 46 files changed, 244 insertions(+), 21 deletions(-) rename {src => utils}/Force-AmendTaggedCommit.bat (100%) rename {src => utils}/Invoke-ReleasePackage.bat (100%) rename {src => utils}/Invoke-TestEngine.bat (100%) rename {src => utils}/Update-RepoUtils.bat (100%) create mode 100644 utils/engines/release/Invoke-ReleasePackage.ps1 create mode 100644 utils/engines/release/custom/.gitkeep create mode 100644 utils/engines/release/scriptSettings.json rename {src => utils}/engines/test/Invoke-TestEngine.ps1 (100%) rename {src => utils}/engines/test/custom/.gitkeep (100%) rename {src => utils}/engines/test/scriptSettings.json (96%) rename {src => utils}/modules/ChangelogSupport.psm1 (100%) rename {src => utils}/modules/Engine/EngineContext.psm1 (100%) rename {src => utils}/modules/Engine/Import-EngineModules.ps1 (100%) rename {src => utils}/modules/Engine/PluginSupport.psm1 (100%) rename {src => utils}/modules/Engine/ReleaseSupport.psm1 (100%) rename {src => utils}/modules/Engine/TestSupport.psm1 (100%) rename {src => utils}/modules/GitTools.psm1 (100%) rename {src => utils}/modules/Logging.psm1 (100%) rename {src => utils}/modules/ScriptConfig.psm1 (100%) rename {src => utils}/modules/TestRunner.psm1 (100%) rename {src => utils}/plugins/DotNet/DotNetCleanupArtifacts.psm1 (100%) rename {src => utils}/plugins/DotNet/DotNetCreateArchive.psm1 (100%) rename {src => utils}/plugins/DotNet/DotNetDockerPush.psm1 (100%) rename {src => utils}/plugins/DotNet/DotNetHelmPush.psm1 (100%) rename {src => utils}/plugins/DotNet/DotNetNuGet.psm1 (100%) rename {src => utils}/plugins/DotNet/DotNetPack.psm1 (100%) rename {src => utils}/plugins/DotNet/DotNetPublish.psm1 (100%) rename {src => utils}/plugins/DotNet/DotNetReleaseVersion.psm1 (100%) rename {src => utils}/plugins/DotNet/DotNetTest.psm1 (100%) rename {src => utils}/plugins/Npm/NpmBuild.psm1 (100%) rename {src => utils}/plugins/Npm/NpmJestTest.psm1 (100%) rename {src => utils}/plugins/Npm/NpmPublish.psm1 (100%) rename {src => utils}/plugins/Npm/NpmReleaseVersion.psm1 (100%) rename {src => utils}/plugins/Platform/CoverageBadges.psm1 (100%) rename {src => utils}/plugins/Platform/GitHub.psm1 (100%) rename {src => utils}/plugins/Platform/QualityGate.psm1 (100%) rename {src => utils}/plugins/Platform/ReleasePublishGuard.psm1 (100%) rename {src => utils}/tools/Force-AmendTaggedCommit/Force-AmendTaggedCommit.ps1 (100%) rename {src => utils}/tools/Force-AmendTaggedCommit/scriptSettings.json (100%) rename {src => utils}/tools/Update-RepoUtils/Update-RepoUtils.ps1 (100%) rename {src => utils}/tools/Update-RepoUtils/scriptSettings.json (100%) diff --git a/.gitignore b/.gitignore index 5f09bf8..51b4bcf 100644 --- a/.gitignore +++ b/.gitignore @@ -263,4 +263,6 @@ __pycache__/ **/*docker-compose/LetsEncryptServer/acme -**/*docker-compose/LetsEncryptServer/cache \ No newline at end of file +**/*docker-compose/LetsEncryptServer/cache +#Custom +![Uu]tils/** diff --git a/CHANGELOG.md b/CHANGELOG.md index 902ed5f..9bc3fe6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,12 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [2.0.1] - 2026-06-28 ### Changed -- Migrated repository automation from `utils/` to `src/` (maksit-repoutils layout). Configure release and test flows in `src/engines/*/scriptSettings.json`. +- Restored repository automation under `utils/` (aligned with maksit-core and maksit-repoutils). Configure release and test flows in `utils/engines/*/scriptSettings.json`. +- Updated dependencies to Dapr `1.18.4`, `MaksIT.Core` `1.6.8`, and `MaksIT.Results` `2.0.3`. -## v2.0.0 - 2026-02-22 +## [2.0.0] - 2026-02-22 ### Added - Dedicated test project (`MaksIT.Dapr.Tests`) with coverage for publisher and state-store service behavior. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f29fb0a..d5d1e7d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -72,24 +72,28 @@ This project follows [Semantic Versioning](https://semver.org/): ## Utility Scripts -Automation lives under `src/` (synced from [maksit-repoutils](https://github.com/MAKS-IT-COM/maksit-repoutils) via `Update-RepoUtils`). Product-specific settings are in each engine’s `scriptSettings.json`. +Automation lives under `utils/` (synced from [maksit-repoutils](https://github.com/MAKS-IT-COM/maksit-repoutils) via `Update-RepoUtils`). Product-specific settings are in each engine’s `scriptSettings.json`. ### Run tests and coverage badges ```powershell -pwsh -File .\src\engines\test\Invoke-TestEngine.ps1 +pwsh -File .\utils\engines\test\Invoke-TestEngine.ps1 ``` -Configuration: `src/engines/test/scriptSettings.json` +Or double-click `utils\Invoke-TestEngine.bat`. + +Configuration: `utils/engines/test/scriptSettings.json` ### Release package Builds, tests, packs, and publishes to NuGet and GitHub release flows. ```powershell -pwsh -File .\src\engines\release\Invoke-ReleasePackage.ps1 +pwsh -File .\utils\engines\release\Invoke-ReleasePackage.ps1 ``` +Or double-click `utils\Invoke-ReleasePackage.bat`. + Prerequisites: - Docker Desktop (for Linux test validation) @@ -97,23 +101,25 @@ Prerequisites: - environment variable `NUGET_MAKS_IT` - environment variable `GITHUB_MAKS_IT_COM` -Configuration: `src/engines/release/scriptSettings.json` +Configuration: `utils/engines/release/scriptSettings.json` ### Update repo utilities -Refreshes `src/` from maksit-repoutils while preserving local `scriptSettings.json` files. +Refreshes `utils/` from maksit-repoutils while preserving local `scriptSettings.json` files. ```powershell -pwsh -File .\src\tools\Update-RepoUtils\Update-RepoUtils.ps1 +pwsh -File .\utils\tools\Update-RepoUtils\Update-RepoUtils.ps1 ``` +Or double-click `utils\Update-RepoUtils.bat`. + ### Force amend tagged commit Amends the latest tagged commit and force-pushes updated branch and tag. ```powershell -pwsh -File .\src\tools\Force-AmendTaggedCommit\Force-AmendTaggedCommit.ps1 -pwsh -File .\src\tools\Force-AmendTaggedCommit\Force-AmendTaggedCommit.ps1 -DryRun +pwsh -File .\utils\tools\Force-AmendTaggedCommit\Force-AmendTaggedCommit.ps1 +pwsh -File .\utils\tools\Force-AmendTaggedCommit\Force-AmendTaggedCommit.ps1 -DryRun ``` Warning: this rewrites git history. diff --git a/src/MaksIT.Dapr.Tests/MaksIT.Dapr.Tests.csproj b/src/MaksIT.Dapr.Tests/MaksIT.Dapr.Tests.csproj index 5623534..3921c40 100644 --- a/src/MaksIT.Dapr.Tests/MaksIT.Dapr.Tests.csproj +++ b/src/MaksIT.Dapr.Tests/MaksIT.Dapr.Tests.csproj @@ -12,7 +12,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/src/MaksIT.Dapr/MaksIT.Dapr.csproj b/src/MaksIT.Dapr/MaksIT.Dapr.csproj index c53c63e..b77270e 100644 --- a/src/MaksIT.Dapr/MaksIT.Dapr.csproj +++ b/src/MaksIT.Dapr/MaksIT.Dapr.csproj @@ -7,7 +7,7 @@ MaksIT.Dapr - 2.0.0 + 2.0.1 Maksym Sadovnychyy MAKS-IT MaksIT.Dapr @@ -21,11 +21,11 @@ - - - - - + + + + + diff --git a/src/Force-AmendTaggedCommit.bat b/utils/Force-AmendTaggedCommit.bat similarity index 100% rename from src/Force-AmendTaggedCommit.bat rename to utils/Force-AmendTaggedCommit.bat diff --git a/src/Invoke-ReleasePackage.bat b/utils/Invoke-ReleasePackage.bat similarity index 100% rename from src/Invoke-ReleasePackage.bat rename to utils/Invoke-ReleasePackage.bat diff --git a/src/Invoke-TestEngine.bat b/utils/Invoke-TestEngine.bat similarity index 100% rename from src/Invoke-TestEngine.bat rename to utils/Invoke-TestEngine.bat diff --git a/src/Update-RepoUtils.bat b/utils/Update-RepoUtils.bat similarity index 100% rename from src/Update-RepoUtils.bat rename to utils/Update-RepoUtils.bat diff --git a/utils/engines/release/Invoke-ReleasePackage.ps1 b/utils/engines/release/Invoke-ReleasePackage.ps1 new file mode 100644 index 0000000..caf880e --- /dev/null +++ b/utils/engines/release/Invoke-ReleasePackage.ps1 @@ -0,0 +1,80 @@ +#requires -Version 7.0 +#requires -PSEdition Core + +<# +.SYNOPSIS + Plugin-driven release engine entry script. +#> + +$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path +$srcDir = (Resolve-Path (Join-Path $scriptDir '..\..')).Path + +. (Join-Path $srcDir 'modules/Engine/Import-EngineModules.ps1') +Import-EngineModules -Engine Release + +$settings = Get-ScriptSettings -ScriptDir $scriptDir +$configuredPlugins = Get-ConfiguredPlugins -Settings $settings + +Write-Log -Level 'STEP' -Message '==================================================' +Write-Log -Level 'STEP' -Message 'RELEASE ENGINE' +Write-Log -Level 'STEP' -Message '==================================================' + +$plugins = $configuredPlugins +$engineContext = New-EngineContext -Plugins $plugins -ScriptDir $scriptDir -SrcDir $srcDir -Settings $settings +Write-Log -Level 'OK' -Message 'All pre-flight checks passed!' +$sharedPluginSettings = $engineContext + +$releaseStageInitialized = $false +$releaseHadPluginFailures = $false + +if ($plugins.Count -eq 0) { + Write-Log -Level 'WARN' -Message 'No plugins configured in scriptSettings.json.' +} +else { + for ($pluginIndex = 0; $pluginIndex -lt $plugins.Count; $pluginIndex++) { + $plugin = $plugins[$pluginIndex] + + if ((Test-IsPublishPlugin -Plugin $plugin) -and -not $releaseStageInitialized) { + if (Test-PluginRunnable -Plugin $plugin -SharedSettings $sharedPluginSettings -EngineDirectory $scriptDir -WriteLogs:$false) { + $remainingPlugins = @($plugins[$pluginIndex..($plugins.Count - 1)]) + Initialize-ReleaseStageContext -RemainingPlugins $remainingPlugins -SharedSettings $sharedPluginSettings -ArtifactsDirectory $engineContext.artifactsDirectory -Version $engineContext.version + $releaseStageInitialized = $true + } + } + + $pluginSucceeded = Invoke-ConfiguredPlugin -Plugin $plugin -SharedSettings $sharedPluginSettings -EngineDirectory $scriptDir -ContinueOnError:$false + if (-not $pluginSucceeded) { + $releaseHadPluginFailures = $true + break + } + } +} + +if (-not $releaseStageInitialized) { + $noReleasePluginsLogLevel = if ($engineContext.isNonReleaseBranch) { 'INFO' } else { 'WARN' } + Write-Log -Level $noReleasePluginsLogLevel -Message 'No release-stage initialization ran (no enabled publish plugins reached, or none runnable).' +} + +Write-Log -Level 'OK' -Message '==================================================' +if ($releaseHadPluginFailures) { + Write-Log -Level 'ERROR' -Message 'RELEASE FAILED' +} +elseif ($engineContext.PSObject.Properties.Name -contains 'skipPublishPlugins' -and $engineContext.skipPublishPlugins) { + Write-Log -Level 'OK' -Message 'RUN COMPLETE (publish skipped by ReleasePublishGuard)' +} +elseif ($engineContext.isNonReleaseBranch) { + Write-Log -Level 'OK' -Message 'NON-RELEASE RUN COMPLETE' +} +else { + Write-Log -Level 'OK' -Message 'RELEASE COMPLETE' +} +Write-Log -Level 'OK' -Message '==================================================' + +if ($engineContext.isNonReleaseBranch -and -not ($engineContext.PSObject.Properties.Name -contains 'skipPublishPlugins' -and $engineContext.skipPublishPlugins)) { + $preferredReleaseBranch = Get-PreferredReleaseBranch -EngineContext $engineContext + Write-Log -Level 'INFO' -Message "For publish, use an allowed branch (see ReleasePublishGuard.branches), e.g. '$preferredReleaseBranch', and satisfy the guard requirements." +} + +if ($releaseHadPluginFailures) { + exit 1 +} diff --git a/utils/engines/release/custom/.gitkeep b/utils/engines/release/custom/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/utils/engines/release/custom/.gitkeep @@ -0,0 +1 @@ + diff --git a/utils/engines/release/scriptSettings.json b/utils/engines/release/scriptSettings.json new file mode 100644 index 0000000..12c9b66 --- /dev/null +++ b/utils/engines/release/scriptSettings.json @@ -0,0 +1,133 @@ +{ + "$schema": "https://json-schema.org/draft-07/schema", + "title": "Release Package Script Settings", + "description": "Invoke-ReleasePackage.ps1 plugin settings for maksit-dapr.", + "plugins": [ + { + "name": "DotNetReleaseVersion", + "stageLabel": "build", + "enabled": true, + "projectFiles": [ + "..\\..\\..\\src\\MaksIT.Dapr\\MaksIT.Dapr.csproj" + ] + }, + { + "name": "DotNetTest", + "stageLabel": "test", + "enabled": true, + "project": "..\\..\\..\\src\\MaksIT.Dapr.Tests", + "resultsDir": "..\\..\\..\\testResults" + }, + { + "name": "QualityGate", + "stageLabel": "qualityGate", + "enabled": true, + "coverageThreshold": 0, + "failOnVulnerabilities": true, + "projectFiles": [ + "..\\..\\..\\src\\MaksIT.Dapr\\MaksIT.Dapr.csproj" + ] + }, + { + "name": "DotNetPack", + "stageLabel": "build", + "enabled": true, + "projectFiles": [ + "..\\..\\..\\src\\MaksIT.Dapr\\MaksIT.Dapr.csproj" + ], + "artifactsDir": "..\\..\\..\\release" + }, + { + "name": "DotNetCreateArchive", + "stageLabel": "build", + "enabled": true, + "zipNamePattern": "maksit.dapr-{version}.zip" + }, + { + "name": "ReleasePublishGuard", + "stageLabel": "release", + "enabled": true, + "branches": [ + "main" + ], + "requireExactTagOnHead": true, + "tagVersionMustMatchDotNetRelease": true, + "whenRequirementsNotMet": "skip", + "requireCleanWorkingTree": false, + "ensureTagOnRemote": true, + "remoteName": "origin" + }, + { + "name": "GitHub", + "stageLabel": "release", + "enabled": true, + "githubToken": "GITHUB_MAKS_IT_COM", + "repository": "https://github.com/MAKS-IT-COM/maksit-core-dapr", + "releaseNotesFile": "..\\..\\..\\CHANGELOG.md", + "releaseTitlePattern": "Release {version}" + }, + { + "name": "DotNetNuGet", + "stageLabel": "release", + "enabled": true, + "nugetApiKey": "NUGET_MAKS_IT", + "source": "https://api.nuget.org/v3/index.json" + }, + { + "name": "NpmReleaseVersion", + "stageLabel": "build", + "enabled": false, + "packageJsonPath": "..\\..\\..\\src\\package.json", + "syncWorkspaceVersions": true + }, + { + "name": "NpmBuild", + "stageLabel": "build", + "enabled": false, + "workspaceRoot": "..\\..\\..\\src", + "useCi": true, + "buildScript": "build" + }, + { + "name": "NpmPublish", + "stageLabel": "release", + "enabled": false, + "npmApiKey": "NPMJS_MAKS_IT", + "registry": "https://registry.npmjs.org", + "access": "public", + "workspaceRoot": "..\\..\\..\\src", + "publishOrder": [] + }, + { + "name": "DotNetDockerPush", + "stageLabel": "release", + "enabled": false, + "registryUrl": "cr.maks-it.com", + "credentialsEnvVar": "CR_MAKS_IT", + "projectName": "my-service", + "contextPath": "..\\..\\..\\src", + "pushLatest": true, + "images": [] + }, + { + "name": "DotNetHelmPush", + "stageLabel": "release", + "enabled": false, + "chartPath": "..\\..\\..\\helm\\my-service", + "ociRepository": "oci://cr.maks-it.com/charts", + "credentialsEnvVar": "CR_MAKS_IT", + "pushLatest": false + }, + { + "name": "DotNetCleanupArtifacts", + "stageLabel": "release", + "enabled": true, + "includePatterns": [ + "*" + ], + "excludePatterns": [ + "*.zip" + ] + } + ] +} diff --git a/src/engines/test/Invoke-TestEngine.ps1 b/utils/engines/test/Invoke-TestEngine.ps1 similarity index 100% rename from src/engines/test/Invoke-TestEngine.ps1 rename to utils/engines/test/Invoke-TestEngine.ps1 diff --git a/src/engines/test/custom/.gitkeep b/utils/engines/test/custom/.gitkeep similarity index 100% rename from src/engines/test/custom/.gitkeep rename to utils/engines/test/custom/.gitkeep diff --git a/src/engines/test/scriptSettings.json b/utils/engines/test/scriptSettings.json similarity index 96% rename from src/engines/test/scriptSettings.json rename to utils/engines/test/scriptSettings.json index 44d5676..783c8e7 100644 --- a/src/engines/test/scriptSettings.json +++ b/utils/engines/test/scriptSettings.json @@ -11,7 +11,7 @@ "stageLabel": "test", "enabled": true, "projects": [ - "..\\..\\MaksIT.Dapr.Tests" + "..\\..\\..\\src\\MaksIT.Dapr.Tests" ] }, { diff --git a/src/modules/ChangelogSupport.psm1 b/utils/modules/ChangelogSupport.psm1 similarity index 100% rename from src/modules/ChangelogSupport.psm1 rename to utils/modules/ChangelogSupport.psm1 diff --git a/src/modules/Engine/EngineContext.psm1 b/utils/modules/Engine/EngineContext.psm1 similarity index 100% rename from src/modules/Engine/EngineContext.psm1 rename to utils/modules/Engine/EngineContext.psm1 diff --git a/src/modules/Engine/Import-EngineModules.ps1 b/utils/modules/Engine/Import-EngineModules.ps1 similarity index 100% rename from src/modules/Engine/Import-EngineModules.ps1 rename to utils/modules/Engine/Import-EngineModules.ps1 diff --git a/src/modules/Engine/PluginSupport.psm1 b/utils/modules/Engine/PluginSupport.psm1 similarity index 100% rename from src/modules/Engine/PluginSupport.psm1 rename to utils/modules/Engine/PluginSupport.psm1 diff --git a/src/modules/Engine/ReleaseSupport.psm1 b/utils/modules/Engine/ReleaseSupport.psm1 similarity index 100% rename from src/modules/Engine/ReleaseSupport.psm1 rename to utils/modules/Engine/ReleaseSupport.psm1 diff --git a/src/modules/Engine/TestSupport.psm1 b/utils/modules/Engine/TestSupport.psm1 similarity index 100% rename from src/modules/Engine/TestSupport.psm1 rename to utils/modules/Engine/TestSupport.psm1 diff --git a/src/modules/GitTools.psm1 b/utils/modules/GitTools.psm1 similarity index 100% rename from src/modules/GitTools.psm1 rename to utils/modules/GitTools.psm1 diff --git a/src/modules/Logging.psm1 b/utils/modules/Logging.psm1 similarity index 100% rename from src/modules/Logging.psm1 rename to utils/modules/Logging.psm1 diff --git a/src/modules/ScriptConfig.psm1 b/utils/modules/ScriptConfig.psm1 similarity index 100% rename from src/modules/ScriptConfig.psm1 rename to utils/modules/ScriptConfig.psm1 diff --git a/src/modules/TestRunner.psm1 b/utils/modules/TestRunner.psm1 similarity index 100% rename from src/modules/TestRunner.psm1 rename to utils/modules/TestRunner.psm1 diff --git a/src/plugins/DotNet/DotNetCleanupArtifacts.psm1 b/utils/plugins/DotNet/DotNetCleanupArtifacts.psm1 similarity index 100% rename from src/plugins/DotNet/DotNetCleanupArtifacts.psm1 rename to utils/plugins/DotNet/DotNetCleanupArtifacts.psm1 diff --git a/src/plugins/DotNet/DotNetCreateArchive.psm1 b/utils/plugins/DotNet/DotNetCreateArchive.psm1 similarity index 100% rename from src/plugins/DotNet/DotNetCreateArchive.psm1 rename to utils/plugins/DotNet/DotNetCreateArchive.psm1 diff --git a/src/plugins/DotNet/DotNetDockerPush.psm1 b/utils/plugins/DotNet/DotNetDockerPush.psm1 similarity index 100% rename from src/plugins/DotNet/DotNetDockerPush.psm1 rename to utils/plugins/DotNet/DotNetDockerPush.psm1 diff --git a/src/plugins/DotNet/DotNetHelmPush.psm1 b/utils/plugins/DotNet/DotNetHelmPush.psm1 similarity index 100% rename from src/plugins/DotNet/DotNetHelmPush.psm1 rename to utils/plugins/DotNet/DotNetHelmPush.psm1 diff --git a/src/plugins/DotNet/DotNetNuGet.psm1 b/utils/plugins/DotNet/DotNetNuGet.psm1 similarity index 100% rename from src/plugins/DotNet/DotNetNuGet.psm1 rename to utils/plugins/DotNet/DotNetNuGet.psm1 diff --git a/src/plugins/DotNet/DotNetPack.psm1 b/utils/plugins/DotNet/DotNetPack.psm1 similarity index 100% rename from src/plugins/DotNet/DotNetPack.psm1 rename to utils/plugins/DotNet/DotNetPack.psm1 diff --git a/src/plugins/DotNet/DotNetPublish.psm1 b/utils/plugins/DotNet/DotNetPublish.psm1 similarity index 100% rename from src/plugins/DotNet/DotNetPublish.psm1 rename to utils/plugins/DotNet/DotNetPublish.psm1 diff --git a/src/plugins/DotNet/DotNetReleaseVersion.psm1 b/utils/plugins/DotNet/DotNetReleaseVersion.psm1 similarity index 100% rename from src/plugins/DotNet/DotNetReleaseVersion.psm1 rename to utils/plugins/DotNet/DotNetReleaseVersion.psm1 diff --git a/src/plugins/DotNet/DotNetTest.psm1 b/utils/plugins/DotNet/DotNetTest.psm1 similarity index 100% rename from src/plugins/DotNet/DotNetTest.psm1 rename to utils/plugins/DotNet/DotNetTest.psm1 diff --git a/src/plugins/Npm/NpmBuild.psm1 b/utils/plugins/Npm/NpmBuild.psm1 similarity index 100% rename from src/plugins/Npm/NpmBuild.psm1 rename to utils/plugins/Npm/NpmBuild.psm1 diff --git a/src/plugins/Npm/NpmJestTest.psm1 b/utils/plugins/Npm/NpmJestTest.psm1 similarity index 100% rename from src/plugins/Npm/NpmJestTest.psm1 rename to utils/plugins/Npm/NpmJestTest.psm1 diff --git a/src/plugins/Npm/NpmPublish.psm1 b/utils/plugins/Npm/NpmPublish.psm1 similarity index 100% rename from src/plugins/Npm/NpmPublish.psm1 rename to utils/plugins/Npm/NpmPublish.psm1 diff --git a/src/plugins/Npm/NpmReleaseVersion.psm1 b/utils/plugins/Npm/NpmReleaseVersion.psm1 similarity index 100% rename from src/plugins/Npm/NpmReleaseVersion.psm1 rename to utils/plugins/Npm/NpmReleaseVersion.psm1 diff --git a/src/plugins/Platform/CoverageBadges.psm1 b/utils/plugins/Platform/CoverageBadges.psm1 similarity index 100% rename from src/plugins/Platform/CoverageBadges.psm1 rename to utils/plugins/Platform/CoverageBadges.psm1 diff --git a/src/plugins/Platform/GitHub.psm1 b/utils/plugins/Platform/GitHub.psm1 similarity index 100% rename from src/plugins/Platform/GitHub.psm1 rename to utils/plugins/Platform/GitHub.psm1 diff --git a/src/plugins/Platform/QualityGate.psm1 b/utils/plugins/Platform/QualityGate.psm1 similarity index 100% rename from src/plugins/Platform/QualityGate.psm1 rename to utils/plugins/Platform/QualityGate.psm1 diff --git a/src/plugins/Platform/ReleasePublishGuard.psm1 b/utils/plugins/Platform/ReleasePublishGuard.psm1 similarity index 100% rename from src/plugins/Platform/ReleasePublishGuard.psm1 rename to utils/plugins/Platform/ReleasePublishGuard.psm1 diff --git a/src/tools/Force-AmendTaggedCommit/Force-AmendTaggedCommit.ps1 b/utils/tools/Force-AmendTaggedCommit/Force-AmendTaggedCommit.ps1 similarity index 100% rename from src/tools/Force-AmendTaggedCommit/Force-AmendTaggedCommit.ps1 rename to utils/tools/Force-AmendTaggedCommit/Force-AmendTaggedCommit.ps1 diff --git a/src/tools/Force-AmendTaggedCommit/scriptSettings.json b/utils/tools/Force-AmendTaggedCommit/scriptSettings.json similarity index 100% rename from src/tools/Force-AmendTaggedCommit/scriptSettings.json rename to utils/tools/Force-AmendTaggedCommit/scriptSettings.json diff --git a/src/tools/Update-RepoUtils/Update-RepoUtils.ps1 b/utils/tools/Update-RepoUtils/Update-RepoUtils.ps1 similarity index 100% rename from src/tools/Update-RepoUtils/Update-RepoUtils.ps1 rename to utils/tools/Update-RepoUtils/Update-RepoUtils.ps1 diff --git a/src/tools/Update-RepoUtils/scriptSettings.json b/utils/tools/Update-RepoUtils/scriptSettings.json similarity index 100% rename from src/tools/Update-RepoUtils/scriptSettings.json rename to utils/tools/Update-RepoUtils/scriptSettings.json