Files
oi-metrology/Wafer-Counter/wafer-counter-pipeline.yml
phares@iscn5cg20977xq 7b2a843664 - Include root in valid directories
- AppSetting bug fix

- Updated testes with base test class and editor configuration changes

- Created new server and wafer counter tasks json files and pipelines to match
2025-08-01 08:23:44 -07:00

200 lines
8.4 KiB
YAML

trigger:
branches:
include:
- master
paths:
include:
- Wafer-Counter
variables:
runtime: 'win-x64'
coreVersion: 'net8.0'
nugetSource: 'https://artifactory.intra.infineon.com/artifactory/api/nuget/ngt-fi-package-main-vir/'
stages:
- stage: Development
displayName: Development
pool:
name: 'OpenInsight Metrology Viewer'
demands: OpenInsight-Metrology-Viewer-Wafer-Counter-Development
variables:
ASPNETCORE_ENVIRONMENT: 'Development'
assemblyTitle: 'OI.Metrology.Wafer.Counter'
configuration: 'Debug'
userSecretsId: '2a0acd34-8f61-47a3-8818-73fa8fe04902'
jobs:
- job: DebugDotnet
steps:
- script: |
echo Assembly Title: $(AssemblyTitle)
echo Build Id: $(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 Configuration: $(Configuration)
echo Core Version: $(CoreVersion)
echo Nuget Source: $(NugetSource)
echo Runtime: $(Runtime)
echo UserSecretsId: $(UserSecretsId)
displayName: 'Echo Check'
- script: |
dotnet user-secrets init
dotnet user-secrets set BuildNumber $(Build.BuildId)
dotnet user-secrets set GitCommit $(Build.SourceVersion)
dotnet user-secrets list
workingDirectory: Wafer-Counter
displayName: 'App - Safe storage of app secrets'
- script: dotnet build --configuration $(Configuration) --source $(NugetSource)
workingDirectory: Wafer-Counter
displayName: 'App - Build'
- script: dotnet build --configuration $(Configuration) --source $(NugetSource)
workingDirectory: Tests
displayName: 'Tests - Build'
- script: dotnet test --configuration $(Configuration)
workingDirectory: Tests
displayName: 'Tests - Test'
- script: dotnet publish --configuration $(Configuration) --runtime $(Runtime) --self-contained
workingDirectory: Wafer-Counter
displayName: 'App - Publish'
- script: dotnet publish --configuration $(Configuration) --runtime $(Runtime) -p:PublishAot=true
workingDirectory: Wafer-Counter
displayName: 'App - AOT Publish'
enabled: false
- task: CopyFiles@2
displayName: 'Copy Files to: D:\'
inputs:
Contents: '*'
SourceFolder: 'Wafer-Counter\bin\$(Configuration)\$(CoreVersion)\$(Runtime)\publish'
TargetFolder: 'D:\$(CoreVersion)\$(Runtime)\$(Build.Repository.Name)\$(Configuration)\$(Build.BuildId)\$(AssemblyTitle)'
OverWrite: true
- script: dotnet clean --configuration $(Configuration)
workingDirectory: Tests
displayName: 'Tests - Clean'
- script: dotnet clean --configuration $(Configuration)
workingDirectory: Wafer-Counter
displayName: 'App - Clean'
- script: C:/Windows/system32/inetsrv/appcmd.exe stop apppool /apppool.name:$(AssemblyTitle).$(Configuration)
workingDirectory: Wafer-Counter
displayName: 'Stop Pool'
continueOnError: true
- script: C:/Windows/system32/inetsrv/appcmd.exe stop site /site.name:$(AssemblyTitle).$(Configuration)
workingDirectory: Wafer-Counter
displayName: 'Stop Website'
continueOnError: true
- script: rmdir "D:\web-sites\$(AssemblyTitle).$(Configuration)"
workingDirectory: Wafer-Counter
displayName: 'Remove MKLink'
continueOnError: true
- script: mklink /J "D:\web-sites\$(AssemblyTitle).$(Configuration)" "D:\$(CoreVersion)\$(Runtime)\$(Build.Repository.Name)\$(Configuration)\$(Build.BuildId)\$(AssemblyTitle)"
workingDirectory: Wafer-Counter
displayName: 'Create MKLink'
- script: mkdir "D:\web-sites\$(AssemblyTitle).$(Configuration)\$(AssemblyTitle).$(Configuration)"
workingDirectory: Wafer-Counter
displayName: 'Make Directory'
continueOnError: true
- script: (robocopy /E /IS /IT /IM "%USERPROFILE%/AppData/Roaming/Microsoft/UserSecrets/$(UserSecretsId)" "D:\$(CoreVersion)\$(Runtime)\$(Build.Repository.Name)\$(Configuration)\$(Build.BuildId)\$(AssemblyTitle)" secrets.json) ^& IF %ERRORLEVEL% LEQ 7 exit 0
workingDirectory: Wafer-Counter
displayName: 'Replace User Secrets Id File'
- script: (robocopy /E /IS /IT /IM "%USERPROFILE%/AppData/Roaming/Microsoft/UserSecrets/$(UserSecretsId)" "D:\$(CoreVersion)\$(Runtime)\$(Build.Repository.Name)\$(Configuration)\$(Build.BuildId)\$(AssemblyTitle)" web.config) ^& IF %ERRORLEVEL% LEQ 7 exit 0
workingDirectory: Wafer-Counter
displayName: 'Replace Web Configuration File'
- script: C:/Windows/system32/inetsrv/appcmd.exe start apppool /apppool.name:$(AssemblyTitle).$(Configuration)
workingDirectory: Wafer-Counter
displayName: 'Start Pool'
- script: C:/Windows/system32/inetsrv/appcmd.exe start site /site.name:$(AssemblyTitle).$(Configuration)
workingDirectory: Wafer-Counter
displayName: 'Start Website'
- stage: Release
displayName: Release
pool:
name: 'OpenInsight Metrology Viewer'
demands: OpenInsight-Metrology-Viewer-Wafer-Counter
variables:
ASPNETCORE_ENVIRONMENT: 'Production'
assemblyTitle: 'OI.Metrology.Wafer.Counter'
configuration: 'Release'
jobs:
- job: ReleaseDotnet
steps:
- script: |
echo Assembly Title: $(AssemblyTitle)
echo Build Id: $(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 Configuration: $(Configuration)
echo Core Version: $(CoreVersion)
echo Nuget Source: $(NugetSource)
echo Runtime: $(Runtime)
displayName: 'Echo Check'
- script: |
dotnet user-secrets init
dotnet user-secrets set BuildNumber $(Build.BuildId)
dotnet user-secrets set GitCommit $(Build.SourceVersion)
dotnet user-secrets list
workingDirectory: Wafer-Counter
displayName: 'App - Safe storage of app secrets'
- script: dotnet build --configuration $(Configuration) --source $(NugetSource)
workingDirectory: Wafer-Counter
displayName: 'App - Build'
- script: dotnet build --configuration $(Configuration) --source $(NugetSource)
workingDirectory: Tests
displayName: 'Tests - Build'
- script: dotnet test --configuration $(Configuration)
workingDirectory: Tests
displayName: 'Tests - Test'
- script: dotnet publish --configuration $(Configuration) --runtime $(Runtime) --self-contained
workingDirectory: Wafer-Counter
displayName: 'App - Publish'
- script: dotnet publish --configuration $(Configuration) --runtime $(Runtime) -p:PublishAot=true
workingDirectory: Wafer-Counter
displayName: 'App - AOT Publish'
enabled: false
- task: CopyFiles@2
displayName: 'Copy Files to: D:\'
inputs:
Contents: '*'
SourceFolder: 'Wafer-Counter\bin\$(Configuration)\$(CoreVersion)\$(Runtime)\publish'
TargetFolder: 'D:\$(CoreVersion)\$(Runtime)\$(Build.Repository.Name)\$(Configuration)\$(Build.BuildId)\$(AssemblyTitle)'
OverWrite: true
- script: dotnet clean --configuration $(Configuration)
workingDirectory: Tests
displayName: 'Tests - Clean'
- script: dotnet clean --configuration $(Configuration)
workingDirectory: Wafer-Counter
displayName: 'App - Clean'
- script: 'echo $(Build.SourceVersion)-$(Build.BuildId)>bin_x_x_\$(Configuration)\$(CoreVersion)\win-x64\$(Build.Repository.Name).txt'
displayName: 'Force Fail'
enabled: false