# ASP.NET Core # Build and test ASP.NET Core projects targeting .NET Core. # Add steps that run tests, create a NuGet package, deploy, and more: # https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core trigger: - master jobs: - job: FrontEnd pool: vmImage: 'Ubuntu-16.04' steps: - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreAndSaveCacheV1.RestoreAndSaveCache@1 inputs: keyfile: '**/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock' targetfolder: '**/node_modules, !**/node_modules/**/node_modules' vstsFeed: '$(ArtifactFeed)' - script: yarn install condition: ne(variables['CacheRestored'], 'true') workingDirectory: Timeline/ClientApp displayName: Yarn Install - script: yarn run test --no-watch --browsers=ChromeHeadless --reporters junit workingDirectory: Timeline/ClientApp displayName: Angular Test - task: PublishTestResults@2 condition: succeededOrFailed() inputs: testRunner: JUnit testResultsFiles: '**/TESTS-*.xml' - job: BackEnd pool: vmImage: 'Ubuntu-16.04' variables: buildConfiguration: 'Release' ASPNETCORE_ENVIRONMENT: 'Development' steps: - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreAndSaveCacheV1.RestoreAndSaveCache@1 inputs: keyfile: '**/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock' targetfolder: '**/node_modules, !**/node_modules/**/node_modules' vstsFeed: '$(ArtifactFeed)' - script: dotnet build --configuration $(buildConfiguration) --configfile nuget.config displayName: Dotnet Build - script: dotnet test Timeline.Tests --configuration $(buildConfiguration) --logger trx displayName: Dotnet Test - task: PublishTestResults@2 condition: succeededOrFailed() inputs: testRunner: VSTest testResultsFiles: '**/*.trx' - job: Publish dependsOn: - FrontEnd - BackEnd pool: vmImage: 'Ubuntu-16.04' variables: buildConfiguration: 'Release' steps: - task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreAndSaveCacheV1.RestoreAndSaveCache@1 inputs: keyfile: '**/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock' targetfolder: '**/node_modules, !**/node_modules/**/node_modules' vstsFeed: '$(ArtifactFeed)' - script: dotnet publish Timeline/Timeline.csproj --configuration $(buildConfiguration) --output ./publish/ displayName: Dotnet Publish - task: PublishPipelineArtifact@0 inputs: artifactName: 'timeline' targetPath: Timeline/publish