Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
badrishc committed Mar 18, 2024
0 parents commit 1e5c7ad
Show file tree
Hide file tree
Showing 959 changed files with 217,465 additions and 0 deletions.
29 changes: 29 additions & 0 deletions .azure/pipelines/CodeCoverage.runsettings
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8" ?>
<RunSettings>
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Configuration>
<CodeCoverage>
<ModulePaths>
<Exclude>
<ModulePath>.*\\*[^\\]test.dll</ModulePath>
<ModulePath>.*\\*[^\\]test.cluster.dll</ModulePath>
<ModulePath>.*\\*[^\\]testadapter.dll</ModulePath>
<ModulePath>.*pipelines.sockets.unofficial.*</ModulePath>
<ModulePath>.*hdrhistogram.*</ModulePath>
<ModulePath>.*stackexchange.*</ModulePath>
<ModulePath>.*linq.*</ModulePath>
</Exclude>
</ModulePaths>
<!-- We recommend you do not change the following values: -->
<UseVerifiableInstrumentation>True</UseVerifiableInstrumentation>
<AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses>
<CollectFromChildProcesses>True</CollectFromChildProcesses>
<CollectAspDotNet>False</CollectAspDotNet>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
42 changes: 42 additions & 0 deletions .azure/pipelines/azure-pipelines-compliance-policheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
resources:
repositories:
- repository: self
type: git
jobs:
- job: Phase_1
displayName: Assessment
cancelTimeoutInMinutes: 1
pool:
name: Azure Pipelines
vmImage: windows-latest
steps:
- checkout: self
clean: False
submodules: recursive
persistCredentials: True
- task: securedevelopmentteam.vss-secure-development-tools.build-task-policheck.PoliCheck@2
displayName: 'Run PoliCheck'
inputs:
targetType: F
optionsFC: 1
optionsUEPATH: '$(Build.SourcesDirectory)/.azure/pipelines/policheck-exclusion.xml'
optionsSEV: '1|2|3|4'
- task: securedevelopmentteam.vss-secure-development-tools.build-task-postanalysis.PostAnalysis@2
displayName: 'Policheck Break Build'
inputs:
GdnBreakAllTools: false
GdnBreakGdnToolPoliCheck: true
- task: securedevelopmentteam.vss-secure-development-tools.build-task-report.SdtReport@2
displayName: 'Create Security Analysis Report'
inputs:
GdnExportTsvFile: true
GdnExportAllTools: false
GdnExportGdnToolPoliCheck: true
GdnExportGdnToolPoliCheckSeverity: Error
- task: securedevelopmentteam.vss-secure-development-tools.build-task-publishsecurityanalysislogs.PublishSecurityAnalysisLogs@3
displayName: 'Publish Security Analysis Logs'
- task: securedevelopmentteam.vss-secure-development-tools.build-task-postanalysis.PostAnalysis@2
displayName: 'Post Analysis'
inputs:
GdnBreakAllTools: false
GdnBreakGdnToolPoliCheck: true
100 changes: 100 additions & 0 deletions .azure/pipelines/azure-pipelines-compliance.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
variables:
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
resources:
repositories:
- repository: self
type: git
jobs:
- job: Phase_1
displayName: Assessment
cancelTimeoutInMinutes: 1
pool:
name: Azure Pipelines
vmImage: windows-latest
steps:
- checkout: self
clean: False
submodules: recursive
persistCredentials: True
- task: UseDotNet@2
displayName: 'Use .NET Core sdk 6.0.x'
inputs:
version: 6.0.x
- task: UseDotNet@2
displayName: 'Use .NET Core sdk 7.0.x'
inputs:
version: 7.0.x
- task: UseDotNet@2
displayName: 'Use .NET Core sdk 8.0.x'
inputs:
version: 8.0.x
- task: NuGetToolInstaller@1
displayName: Nuget Tool Installer
inputs:
versionspec: '*'
checkLatest: true
- task: NuGetAuthenticate@1
displayName: 'NuGet Authenticate'
- task: DotNetCoreCLI@2
displayName: dotnet build
inputs:
projects: '**/Garnet.*.csproj'
arguments: '-c Release'
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
Contents: '**\bin\AnyCPU\$(BuildConfiguration)\**\*'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
displayName: Component Detection
inputs:
detectorsToRun: NuGet,Npm
scanType: 'Register'
verbosity: 'Verbose'
alertWarningLevel: 'High'
- task: securedevelopmentteam.vss-secure-development-tools.build-task-semmle.Semmle@1
displayName: 'Run CodeQL (Semmle) (csharp)'
inputs:
toolVersion: 'Latest'
language: 'csharp'
- task: securedevelopmentteam.vss-secure-development-tools.build-task-credscan.CredScan@3
name: CredScan6
displayName: Run CredScan
continueOnError: True
inputs:
suppressionsFile: $(Build.SourcesDirectory)\.azure\pipelines\credscan-exclusion.json
debugMode: false
folderSuppression: false
verboseOutput: true
- task: securedevelopmentteam.vss-secure-development-tools.build-task-report.SdtReport@2
name: SdtReport1
displayName: 'Create Security Analysis Report'
inputs:
GdnExportTsvFile: true
- task: securedevelopmentteam.vss-secure-development-tools.build-task-publishsecurityanalysislogs.PublishSecurityAnalysisLogs@3
name: PublishSecurityAnalysisLogs12
displayName: Publish Security Analysis Logs
inputs:
TargetPath: '\\my\share\$(Build.DefinitionName)\$(Build.BuildNumber)'
AntiMalware: true
APIScan: true
CodesignValidation: true
CredScan: true
FortifySCA: true
FxCop: true
ModernCop: true
MSRD: true
SDLNativeRules: true
Semmle: true
TSLint: true
WebScout: true
- task: securedevelopmentteam.vss-secure-development-tools.build-task-postanalysis.PostAnalysis@2
name: PostAnalysis13
displayName: Post Analysis
inputs:
GdnBreakAllTools: false
GdnBreakGdnToolCredScan: true
GdnBreakGdnToolFxCop: true
GdnBreakGdnToolFxCopSeverity: Error
GdnBreakGdnToolSemmle: true
165 changes: 165 additions & 0 deletions .azure/pipelines/azure-pipelines-external-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
######################################
# NOTE: Before running this pipeline to generate a new nuget package, update the version string in two places
# 1) update the name: string below (line 6) -- this is the version for the nuget package (e.g. 1.0.0)
# 2) update \libs\host\GarnetServer.cs readonly string version (~line 45) -- NOTE - these two values need to be the same
######################################
name: 1.0.0
trigger: none
resources:
repositories:
- repository: self
type: git
ref: refs/heads/main
jobs:
- job: Phase_1
displayName: Assessment
cancelTimeoutInMinutes: 1
pool:
name: Azure Pipelines
steps:
- checkout: self
clean: False
submodules: recursive
persistCredentials: True
- task: UseDotNet@2
displayName: Use .NET Core sdk 6.0.x
inputs:
version: 6.0.x
- task: UseDotNet@2
displayName: Use .NET Core sdk 7.0.x
inputs:
version: 7.0.x
- task: UseDotNet@2
displayName: Use .NET Core sdk 8.0.x
inputs:
version: 8.0.x
- task: NuGetToolInstaller@1
displayName: Nuget Tool Installer
inputs:
versionspec: '*'
checkLatest: true
- task: NuGetAuthenticate@1
displayName: NuGet Authenticate
- task: NuGetAuthenticate@1
displayName: 'NuGet Authenticate'
- task: DotNetCoreCLI@2
displayName: dotnet build
inputs:
projects: '**/Garnet.*.csproj'
arguments: -c Release
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@2
displayName: Sign the binaries
enabled: True
inputs:
ConnectedServiceName: Garnet Code Signing
FolderPath: .
Pattern: Garnet.server.dll,Garnet.client.dll,Garnet.common.dll,Garnet.cluster.dll,Garnet.host.dll,HdrHistogram.dll,Tsavorite.core.dll,Tsavorite.devices.AzureStorageDevice.dll,native_device.dll
signConfigType: inlineSignParams
inlineOperation: >-
[
{
"keyCode": "CP-230012",
"operationSetCode": "SigntoolSign",
"parameters": [
{
"parameterName": "OpusName",
"parameterValue": "Microsoft"
},
{
"parameterName": "OpusInfo",
"parameterValue": "http://www.microsoft.com"
},
{
"parameterName": "FileDigest",
"parameterValue": "/fd \"SHA256\""
},
{
"parameterName": "PageHash",
"parameterValue": "/NPH"
},
{
"parameterName": "TimeStamp",
"parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
}
],
"toolName": "sign",
"toolVersion": "1.0"
},
{
"keyCode": "CP-230012",
"operationSetCode": "SigntoolVerify",
"parameters": [ ],
"toolName": "sign",
"toolVersion": "1.0"
}
]
- task: CmdLine@2
displayName: Command Line Script
inputs:
script: dir
- task: CopyFiles@2
displayName: 'Copy Files to Artifacts dir: $(build.artifactstagingdirectory)'
inputs:
Contents: '**/bin/AnyCPU/$(BuildConfiguration)/**/*'
TargetFolder: $(build.artifactstagingdirectory)
- task: NuGetCommand@2
displayName: nuget pack Garnet
enabled: True
inputs:
command: custom
arguments: pack Garnet.nuspec -OutputDirectory $(Build.ArtifactStagingDirectory) -Properties Configuration=$(BuildConfiguration) -Symbols -SymbolPackageFormat snupkg -version $(Build.BuildNumber) -Verbosity Detailed
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@2
displayName: Sign the NuGet Package
enabled: True
inputs:
ConnectedServiceName: Garnet Code Signing
FolderPath: $(Build.ArtifactStagingDirectory)
Pattern: Microsoft.Garnet.*.nupkg
signConfigType: inlineSignParams
inlineOperation: >-
[
{
"keyCode": "CP-401405",
"operationSetCode": "NuGetSign",
"parameters": [ ],
"toolName": "sign",
"toolVersion": "1.0"
},
{
"keyCode": "CP-401405",
"operationSetCode": "NuGetVerify",
"parameters": [ ],
"toolName": "sign",
"toolVersion": "1.0"
}
]
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
enabled: True
- task: GitHubRelease@0
displayName: 'Create the GitHub release'
enabled: true
inputs:
gitHubConnection: ADO_to_Github_ServiceConnection
tagSource: manual
tag: 'v$(Build.BuildNumber)'
title: 'Garnet v$(Build.BuildNumber)'
releaseNotesSource: input
releaseNotes: |
Get NuGet binaries at:
* https://www.nuget.org/packages/Microsoft.Garnet
More information at:
* https://microsoft.github.io/garnet
* https://github.com/microsoft/garnet
* https://www.microsoft.com/en-us/research/project/garnet
assets: '$(Build.ArtifactStagingDirectory)/*.nupkg'
- task: NuGetCommand@2
displayName: 'Push to NuGet.org'
enabled: true
inputs:
command: push
packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg'
nuGetFeedType: external
publishFeedCredentials: GarnetADO_to_Nuget

0 comments on commit 1e5c7ad

Please sign in to comment.