uscheduler/utils/engines/release/scriptSettings.json

148 lines
4.8 KiB
JSON

{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "MaksIT.UScheduler Release Script Settings",
"description": "Community desktop pipeline. GitHub assets are siblings: portable zip (win-x64 worker, UI, Scripts), Windows setup exe (Avalonia UI), Flatpak (Avalonia UI). The zip never contains the installer or Flatpak.",
"plugins": [
{
"name": "DotNetReleaseVersion",
"stageLabel": "build",
"enabled": true,
"projectFiles": [
"..\\..\\..\\src\\MaksIT.UScheduler\\MaksIT.UScheduler.csproj",
"..\\..\\..\\src\\MaksIT.UScheduler.UI\\MaksIT.UScheduler.UI.csproj"
]
},
{
"name": "DotNetTest",
"stageLabel": "test",
"enabled": true,
"project": "..\\..\\..\\src\\MaksIT.UScheduler.Tests",
"resultsDir": "..\\..\\..\\test-results"
},
{
"name": "QualityGate",
"stageLabel": "qualityGate",
"enabled": true,
"coverageThreshold": 0,
"failOnVulnerabilities": true,
"projectFiles": [
"..\\..\\..\\src\\MaksIT.UScheduler\\MaksIT.UScheduler.csproj",
"..\\..\\..\\src\\MaksIT.UScheduler.UI\\MaksIT.UScheduler.UI.csproj"
]
},
{
"name": "DotNetPublish",
"stageLabel": "build",
"enabled": true,
"projectFiles": [
"..\\..\\..\\src\\MaksIT.UScheduler\\MaksIT.UScheduler.csproj",
"..\\..\\..\\src\\MaksIT.UScheduler.UI\\MaksIT.UScheduler.UI.csproj"
],
"artifactsDir": "..\\..\\..\\releases",
"runtimeIdentifiers": [
"win-x64",
"linux-x64"
],
"selfContained": true,
"publishSingleFile": false
},
{
"name": "BundleCustomization",
"stageLabel": "build",
"enabled": true,
"bundleDir": "..\\..\\..\\releases\\bundle",
"installerPayloadDir": "..\\..\\..\\releases\\installer-payload",
"scriptsPath": "..\\..\\..\\src\\Scripts",
"projects": {
"uiAppSettingsFile": "appsettings.json",
"uschedulerAppSettingsFile": "appsettings.json",
"uiServiceBinPath": "..\\MaksIT.UScheduler",
"uschedulerLogDir": "..\\Logs",
"scriptsRelativeToExe": "..\\Scripts"
}
},
{
"name": "DotNetCreateArchive",
"stageLabel": "build",
"enabled": true,
"zipNamePattern": "maksit-uscheduler-{version}.zip"
},
{
"name": "WindowsInstaller",
"stageLabel": "build",
"enabled": true,
"appName": "MaksIT UScheduler",
"manufacturer": "MaksIT",
"upgradeCode": "7b4e9c21-6a8f-4d3b-9e12-5c8a7f0b2d44",
"executableName": "MaksIT.UScheduler.UI.exe",
"runtimeIdentifier": "win-x64",
"publishDir": "..\\..\\..\\releases\\installer-payload",
"installScope": "perMachine",
"installFolderName": "UScheduler",
"iconPath": "..\\..\\..\\src\\MaksIT.UScheduler.UI\\Assets\\icon.ico",
"exeNamePattern": "maksit-uscheduler-{version}.exe",
"postInstallExecutableName": "MaksIT.UScheduler.exe",
"postInstallArguments": "--prepare-data"
},
{
"name": "FlatpakPack",
"stageLabel": "build",
"enabled": true,
"appId": "com.maks_it.UScheduler",
"appName": "MaksIT UScheduler",
"command": "maksit-uscheduler",
"executableName": "MaksIT.UScheduler.UI",
"runtimeIdentifier": "linux-x64",
"publishDir": "..\\..\\..\\releases\\MaksIT.UScheduler.UI\\linux-x64",
"summary": "Schedule PowerShell scripts and processes",
"projectLicense": "MIT",
"iconPath": "..\\..\\..\\src\\MaksIT.UScheduler.UI\\Assets\\icon.png",
"bundleNamePattern": "maksit-uscheduler-{version}.flatpak",
"buildBundle": true,
"attachSourceZip": false,
"wslDistro": "Debian",
"whenBuilderMissing": "skip"
},
{
"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,
"repository": "https://github.com/MAKS-IT-COM/uscheduler",
"releaseNotesFile": "..\\..\\..\\CHANGELOG.md",
"releaseTitlePattern": "Release {version}",
"requireReleaseAssets": true,
"githubSecret": "GitClone"
},
{
"name": "CleanupArtifacts",
"stageLabel": "release",
"enabled": true,
"includePatterns": [
"*"
],
"excludePatterns": [
"*.zip",
"*.exe",
"*.flatpak"
]
}
],
"repoUtilsSecretsShared": "RepoUtilsSecretsShared",
"repoUtilsSecrets": "RepoUtilsSecrets",
"vaultRepoUtilsApplication": "Shared"
}