trigger: - master - release/* variables: DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true UploadCentronArtifacts: $[or(startsWith(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'))] pool: Default steps: - checkout: self fetchDepth: 0 - script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- clean 2>&1' displayName: Clean - script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- build-nexus 2>&1' displayName: Build Nexus - task: TrustedSigning@0 displayName: Signing Nexus inputs: AzureTenantID: $(AzureTenantID) AzureClientID: $(AzureClientID) AzureClientSecret: $(AzureClientSecret) AzureClientSendCertificateChain: false Endpoint: 'https://weu.codesigning.azure.net/' TrustedSigningAccountName: 'CentronCodesigning' CertificateProfileName: 'centroncert' FileDigest: 'SHA256' Files: | $(Build.SourcesDirectory)\src\nexus\CentronNexus\bin\Release\net8.0\win-x64\publish\CentronNexus.dll $(Build.SourcesDirectory)\src\nexus\CentronNexus\bin\Release\net8.0\win-x64\publish\CentronNexus.exe - script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- zip-nexus-directory 2>&1' displayName: Set Nexus Zip-Directory - script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- build-nexus-installer 2>&1' displayName: Build Nexus Installer - task: TrustedSigning@0 displayName: Signing Nexus inputs: AzureTenantID: $(AzureTenantID) AzureClientID: $(AzureClientID) AzureClientSecret: $(AzureClientSecret) AzureClientSendCertificateChain: false Endpoint: 'https://weu.codesigning.azure.net/' TrustedSigningAccountName: 'CentronCodesigning' CertificateProfileName: 'centroncert' FileDigest: 'SHA256' Files: $(Build.SourcesDirectory)\deployment\WixSharpInstaller\bin\Release\net472\c-entron Nexus.msi - script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- zip-nexus-singleFile 2>&1' displayName: Zip Nexus Installer - script: 'dotnet run --project "./scripts/Scripts/Scripts.csproj" -- test-only 2>&1' displayName: Test Nexus - task: PublishTestResults@2 displayName: 'Publish Test: c-entron Nexus Tests' inputs: testResultsFormat: VSTest testResultsFiles: 'artifacts/TestResults.trx' testRunTitle: 'c-entron Nexus Tests' buildConfiguration: 'Release' failTaskOnFailedTests: true - task: PublishPipelineArtifact@1 displayName: 'Upload Artifact to Azure Pipelines: c-entron Nexus' inputs: targetPath: './artifacts/c-entron Nexus Installer.zip' artifactName: 'c-entron Nexus Installer' - task: razorspoint.rp-build-release-pnptasks.RP-PnPPowerShell.PnPPowerShell@3 condition: and(succeeded(), eq(variables.UploadCentronArtifacts, true)) displayName: 'Upload Artifact to SharePoint: c-entron Nexus' continueOnError: true inputs: SharePointVersion: SpOnline sharepointConntection: 'Software Builds - SharePoint' FileOrInline: Inline RequiredVersion: '3.23.2007.1' PnPPowerShellInline: | $centronNexusDllFilePath = "$env:BUILD_SOURCESDIRECTORY\deployment\WixSharpInstaller\Files\CentronNexus.dll" $version = [Version][System.Diagnostics.FileVersionInfo]::GetVersionInfo($centronNexusDllFilePath).FileVersion $mainVersion = $version.ToString(3) $file = Add-PnpFile -Folder "/Shared Documents/c-entron Nexus/v$mainVersion/v$version" -Path "artifacts\c-entron Nexus Installer.zip"