mesa-fab-approval/Fab2ApprovalSystem/pipelines-manual.yml
Mike Phares 83789cdd91 Added ControllerExtensions to be used instead of HtmlViewRenderer for net8
Added HttpException class for missing HttpException for net8

Wrapped HttpContext.Session, GetJsonResult, IsAjaxRequest and GetUserIdentityName in controllers for net8

Added AuthenticationService to test Fab2ApprovalMKLink code for net8

Compile conditionally flags to debug in dotnet core
2025-05-19 13:29:54 -07:00

235 lines
12 KiB
YAML

trigger:
branches:
include:
- master
paths:
include:
- Fab2ApprovalSystem
variables:
coreVersion: "net8.0"
targetFrameworkVersion: "v4.8"
nugetSource: "https://artifactory.intra.infineon.com/artifactory/api/nuget/ngt-fi-package-main-vir/"
msBuild: "C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe"
stages:
- stage: Development
displayName: Development
pool:
name: MesaFabApproval
demands: Fab2ApprovalSystem-Dev
variables:
ASPNETCORE_ENVIRONMENT: "Development"
assemblyTitle: "Fab2ApprovalSystem"
configuration: "Debug"
jobs:
- job: DebugDotnet
steps:
- script: |
echo BuildId: $(Build.BuildId)
echo Build reason: $(Build.Reason)
echo Repo Id: $(Build.Repository.Id)
echo Repo name: $(Build.Repository.Name)
echo Source version: $(Build.SourceVersion)
echo Core version: $(CoreVersion)
echo Configuration: $(Configuration)
echo Target Framework version: $(TargetFrameworkVersion)
echo Assembly title: $(AssemblyTitle)
echo MicrosoftBuildEngine: $(msBuild)
echo NugetSource: $(NugetSource)
displayName: "Echo Check"
- script: |
mklink /J ".vscode\.UserSecrets" "%AppData%\Microsoft\UserSecrets\f2da5035-aba9-4676-9f8d-d6689f84663d"
mklink /J "Controllers" "..\Fab2ApprovalSystem\Controllers"
mklink /J "DMO" "..\Fab2ApprovalSystem\DMO"
mklink /J "Jobs" "..\Fab2ApprovalSystem\Jobs"
mklink /J "JobSchedules" "..\Fab2ApprovalSystem\JobSchedules"
mklink /J "Misc" "..\Fab2ApprovalSystem\Misc"
mklink /J "Models" "..\Fab2ApprovalSystem\Models"
mklink /J "PdfGenerator" "..\Fab2ApprovalSystem\PdfGenerator"
mklink /J "Utilities" "..\Fab2ApprovalSystem\Utilities"
mklink /J "ViewModels" "..\Fab2ApprovalSystem\ViewModels"
workingDirectory: Fab2ApprovalMKLink
displayName: "MKLink - Symbolic Link of Type Junction"
- script: |
dotnet user-secrets init
dotnet user-secrets set BuildNumber $(Build.BuildId)
dotnet user-secrets set "GitCommit" "$(Build.SourceVersion)"
dotnet user-secrets list
workingDirectory: Fab2ApprovalMKLink
displayName: "MKLink - Safe storage of app secrets"
- script: dotnet build --configuration $(Configuration) --source $(NugetSource)
workingDirectory: Fab2ApprovalMKLink
displayName: "MKLink - Build"
- script: dotnet build --configuration $(Configuration) --source $(NugetSource)
workingDirectory: Fab2ApprovalTests
displayName: "Tests - Build"
- script: dotnet test --configuration $(Configuration)
workingDirectory: Fab2ApprovalTests
displayName: "Tests - Test"
- script: dotnet clean --configuration $(Configuration)
workingDirectory: Fab2ApprovalTests
displayName: "Tests - Clean"
- script: dotnet clean --configuration $(Configuration)
workingDirectory: Fab2ApprovalMKLink
displayName: "MKLink - Clean"
- job: DebugMicrosoftBuildEngine
steps:
- script: |
echo BuildId: $(Build.BuildId)
echo Build reason: $(Build.Reason)
echo Repo Id: $(Build.Repository.Id)
echo Repo name: $(Build.Repository.Name)
echo Source version: $(Build.SourceVersion)
echo Core version: $(CoreVersion)
echo Configuration: $(Configuration)
echo Target Framework version: $(TargetFrameworkVersion)
echo Assembly title: $(AssemblyTitle)
echo MicrosoftBuildEngine: $(msBuild)
echo NugetSource: $(NugetSource)
displayName: "Echo Check"
- script: '"$(msBuild)" /target:Restore /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:RestoreSources=$(NugetSource) $(AssemblyTitle).csproj'
workingDirectory: Fab2ApprovalSystem
displayName: "Framework - Restore"
- script: '"$(msBuild)" /target:Build /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj'
workingDirectory: Fab2ApprovalSystem
displayName: "Framework - Build"
- script: '"$(msBuild)" /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:DebugSymbols=false /p:DeleteExistingFiles=true /p:DeployOnBuild=true /p:EnableUpdateAble=true /p:ExcludeApp_Data=true /p:LastUsedconfiguration=$(Configuration) /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=true /p:OutputPath=bin/$(Configuration) /p:PreCompileBeforePublish=true /p:PublishProvider=FileSystem /p:PublishUrl="D:/PublishUrl" /p:SiteUrlToLaunchAfterPublish="" /p:WDPMergeOption=DoNotMerge /p:WebPublishMethod=FileSystem $(AssemblyTitle).csproj'
workingDirectory: Fab2ApprovalSystem
displayName: "Framework - Package (.zip for msdeploy.exe)"
- task: CopyFiles@2
displayName: 'Copy Files to: D:\'
inputs:
Contents: "*"
SourceFolder: '$(AssemblyTitle)\bin\$(Configuration)\_PublishedWebsites\$(AssemblyTitle)_Package'
TargetFolder: 'D:\$(TargetFrameworkVersion)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)-$(AssemblyTitle)-Package'
OverWrite: true
- script: '"$(msBuild)" /target:Clean /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj'
workingDirectory: Fab2ApprovalSystem
displayName: "Framework - Clean"
- stage: Release
displayName: Release
pool:
name: MesaFabApproval
demands: Fab2ApprovalSystem
variables:
ASPNETCORE_ENVIRONMENT: "Production"
assemblyTitle: "Fab2ApprovalSystem"
configuration: "Release"
jobs:
- job: ReleaseDotnet
steps:
- script: |
echo BuildId: $(Build.BuildId)
echo Build reason: $(Build.Reason)
echo Repo Id: $(Build.Repository.Id)
echo Repo name: $(Build.Repository.Name)
echo Source version: $(Build.SourceVersion)
echo Core version: $(CoreVersion)
echo Configuration: $(Configuration)
echo Target Framework version: $(TargetFrameworkVersion)
echo Assembly title: $(AssemblyTitle)
echo MicrosoftBuildEngine: $(msBuild)
echo NugetSource: $(NugetSource)
displayName: "Echo Check"
- script: |
mklink /J ".vscode\.UserSecrets" "%AppData%\Microsoft\UserSecrets\f2da5035-aba9-4676-9f8d-d6689f84663d"
mklink /J "Controllers" "..\Fab2ApprovalSystem\Controllers"
mklink /J "DMO" "..\Fab2ApprovalSystem\DMO"
mklink /J "Jobs" "..\Fab2ApprovalSystem\Jobs"
mklink /J "JobSchedules" "..\Fab2ApprovalSystem\JobSchedules"
mklink /J "Misc" "..\Fab2ApprovalSystem\Misc"
mklink /J "Models" "..\Fab2ApprovalSystem\Models"
mklink /J "PdfGenerator" "..\Fab2ApprovalSystem\PdfGenerator"
mklink /J "Utilities" "..\Fab2ApprovalSystem\Utilities"
mklink /J "ViewModels" "..\Fab2ApprovalSystem\ViewModels"
workingDirectory: Fab2ApprovalMKLink
displayName: "MKLink - Symbolic Link of Type Junction"
- script: |
dotnet user-secrets init
dotnet user-secrets set BuildNumber $(Build.BuildId)
dotnet user-secrets set "GitCommit" "$(Build.SourceVersion)"
dotnet user-secrets list
workingDirectory: Fab2ApprovalMKLink
displayName: "MKLink - Safe storage of app secrets"
- script: dotnet build --configuration $(Configuration) --source $(NugetSource)
workingDirectory: Fab2ApprovalMKLink
displayName: "MKLink - Build"
- script: dotnet build --configuration $(Configuration) --source $(NugetSource)
workingDirectory: Fab2ApprovalTests
displayName: "Tests - Build"
- script: dotnet test --configuration $(Configuration)
workingDirectory: Fab2ApprovalTests
displayName: "Tests - Test"
- script: dotnet clean --configuration $(Configuration)
workingDirectory: Fab2ApprovalTests
displayName: "Tests - Clean"
- script: dotnet clean --configuration $(Configuration)
workingDirectory: Fab2ApprovalMKLink
displayName: "MKLink - Clean"
- job: ReleaseMicrosoftBuildEngine
steps:
- script: |
echo BuildId: $(Build.BuildId)
echo Build reason: $(Build.Reason)
echo Repo Id: $(Build.Repository.Id)
echo Repo name: $(Build.Repository.Name)
echo Source version: $(Build.SourceVersion)
echo Core version: $(CoreVersion)
echo Configuration: $(Configuration)
echo Target Framework version: $(TargetFrameworkVersion)
echo Assembly title: $(AssemblyTitle)
echo MicrosoftBuildEngine: $(msBuild)
echo NugetSource: $(NugetSource)
displayName: "Echo Check"
- script: '"$(msBuild)" /target:Restore /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:RestoreSources=$(NugetSource) $(AssemblyTitle).csproj'
workingDirectory: Fab2ApprovalSystem
displayName: "Framework - Restore"
- script: '"$(msBuild)" /target:Build /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj'
workingDirectory: Fab2ApprovalSystem
displayName: "Framework - Build"
- script: '"$(msBuild)" /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:DebugSymbols=false /p:DeleteExistingFiles=true /p:DeployOnBuild=true /p:EnableUpdateAble=true /p:ExcludeApp_Data=true /p:LastUsedconfiguration=$(Configuration) /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=true /p:OutputPath=bin/$(Configuration) /p:PreCompileBeforePublish=true /p:PublishProvider=FileSystem /p:PublishUrl="D:/PublishUrl" /p:SiteUrlToLaunchAfterPublish="" /p:WDPMergeOption=DoNotMerge /p:WebPublishMethod=FileSystem $(AssemblyTitle).csproj'
workingDirectory: Fab2ApprovalSystem
displayName: "Framework - Package (.zip for msdeploy.exe)"
- task: CopyFiles@2
displayName: 'Copy Files to: D:\'
inputs:
Contents: "*"
SourceFolder: '$(AssemblyTitle)\bin\$(Configuration)\_PublishedWebsites\$(AssemblyTitle)_Package'
TargetFolder: 'D:\$(TargetFrameworkVersion)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)-$(AssemblyTitle)-Package'
OverWrite: true
- script: '"$(msBuild)" /target:Clean /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj'
workingDirectory: Fab2ApprovalSystem
displayName: "Framework - Clean"
- script: 'echo $(Build.BuildId)-$(Build.SourceVersion)-bin_x_x_\$(Configuration)\$(CoreVersion)\win-x64\$(Build.Repository.Name).txt'
displayName: "Force Fail"
enabled: true