Skip to main content
Glama

Azure MCP Server

Official
MIT License
1,161
  • Linux
  • Apple
perf.yml6.95 kB
parameters: - name: JobName type: string default: 'Perf' - name: TimeoutInMinutes type: number default: '360' - name: LinuxPool type: string default: 'azsdk-pool-mms-ubuntu-2204-perf' - name: LinuxVmImage type: string default: 'ubuntu-22.04' - name: WindowsPool type: string default: 'azsdk-pool-mms-win-2022-perf' - name: WindowsVmImage type: string default: 'windows-2022' - name: Language type: string default: '' - name: LanguageVersion type: string default: '' - name: LanguageRepoName type: string default: $(Build.Repository.Name) - name: LanguageRepoCommitish type: string default: $(Build.SourceVersion) - name: ToolsRepoCommitish type: string default: 'main' - name: Variables type: object default: [] - name: OperatingSystems type: string default: 'Linux' - name: InstallLanguageSteps type: stepList default: [] - name: ServiceDirectory type: string default: '' - name: PackageVersions type: string default: '.*' - name: Tests type: string default: '.*' - name: Arguments type: string default: '.*' - name: Iterations type: number default: '5' - name: Profile type: boolean default: false - name: AdditionalArguments type: string default: '' - name: EnvVars type: object default: {} jobs: - job: ${{ parameters.JobName }} timeoutInMinutes: ${{ parameters.TimeoutInMinutes }} strategy: matrix: ${{ if contains(parameters.OperatingSystems, 'Linux') }}: Linux: Pool: ${{ parameters.LinuxPool }} OsVmImage: ${{ parameters.LinuxVmImage }} MatrixName: 'Linux' ${{ if contains(parameters.OperatingSystems, 'Windows') }}: Windows: Pool: ${{ parameters.WindowsPool }} OsVmImage: ${{ parameters.WindowsVmImage }} MatrixName: 'Windows' variables: - ${{ parameters.Variables }} - name: Profile ${{ if parameters.Profile }}: value: '--profile' ${{ else }}: value: '' pool: name: $(Pool) vmImage: $(OSVmImage) steps: - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml parameters: Paths: - '/*' - '!sdk/**/test-recordings/*' - '!sdk/**/recordings/*' - '!sdk/**/SessionRecords/*' - '!sdk/**/session-records/*' Repositories: - Name: ${{ parameters.LanguageRepoName }} Commitish: ${{ parameters.LanguageRepoCommitish }} WorkingDirectory: $(System.DefaultWorkingDirectory) - Name: Azure/azure-sdk-tools Commitish: ${{ parameters.ToolsRepoCommitish }} WorkingDirectory: $(System.DefaultWorkingDirectory)/azure-sdk-tools - template: /eng/common/pipelines/templates/steps/verify-agent-os.yml parameters: AgentImage: $(OSVmImage) # Copied from eng/pipelines/templates/steps/install-dotnet.yml, but changed workingDirectory - task: UseDotNet@2 # About UseDotNet@2 task: https://learn.microsoft.com/azure/devops/pipelines/tasks/reference/use-dotnet-v2?view=azure-pipelines displayName: "Use .NET SDK from global.json" retryCountOnTaskFailure: 3 inputs: useGlobalJson: true workingDirectory: azure-sdk-tools # Copied from eng/pipelines/templates/steps/install-dotnet.yml, but changed workingDirectory - task: UseDotNet@2 displayName: "Use .NET SDK 8.0.x" retryCountOnTaskFailure: 3 inputs: # We must install sdk, not just runtime, as it is required by some of our tools, like test-proxy. # Specifically, test-proxy requires asp.net core runtime, which is installed only when sdk option # is selected, per: https://github.com/microsoft/azure-pipelines-tasks/issues/14405 packageType: sdk version: 8.0.x # performMultiLevelLookup comes into play when given .NET executable target runtime is different # than the installed .NET SDK. Without this, such runtime would not be found. performMultiLevelLookup: true workingDirectory: azure-sdk-tools - ${{ parameters.InstallLanguageSteps }} - template: /eng/common/TestResources/deploy-test-resources.yml parameters: ServiceDirectory: ${{ parameters.ServiceDirectory }} Location: westus ResourceType: perf ServiceConnection: azure-sdk-tests-public - task: AzurePowerShell@5 inputs: azureSubscription: azure-sdk-tests-public azurePowerShellVersion: LatestVersion pwsh: true ScriptType: InlineScript Inline: >- $account = (Get-AzContext).Account; $env:AZURESUBSCRIPTION_CLIENT_ID = $account.Id; $env:AZURESUBSCRIPTION_TENANT_ID = $account.Tenants; dotnet run -- run --language ${{ parameters.Language }} --language-version ${{ parameters.LanguageVersion }} --repo-root $(System.DefaultWorkingDirectory) --tests-file $(System.DefaultWorkingDirectory)/sdk/${{ parameters.ServiceDirectory }}/perf-tests.yml --package-versions "${{ parameters.PackageVersions }}" --tests "${{ parameters.Tests }}" --arguments "${{ parameters.Arguments }}" --iterations ${{ parameters.Iterations }} $(Profile) ${{ parameters.AdditionalArguments }} workingDirectory: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation displayName: Run perf tests env: SYSTEM_ACCESSTOKEN: $(System.AccessToken) ${{ each var in parameters.EnvVars }}: ${{ var.key }}: ${{ var.value }} - pwsh: | get-content results.txt workingDirectory: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation/results displayName: Print results.txt condition: always() - pwsh: | get-content results.csv workingDirectory: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation/results displayName: Print results.csv condition: always() - pwsh: | get-content results.md workingDirectory: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation/results displayName: Print results.md condition: always() - pwsh: | get-content results.json workingDirectory: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation/results displayName: Print results.json condition: always() - task: PublishPipelineArtifact@1 inputs: targetPath: azure-sdk-tools/tools/perf-automation/Azure.Sdk.Tools.PerfAutomation/results artifactName: results-${{ parameters.Language }}-$(MatrixName) condition: always() - task: PublishPipelineArtifact@1 inputs: targetPath: $(System.DefaultWorkingDirectory)/${{ parameters.Language }}-profile.zip artifactName: ${{ parameters.Language }}-profile.zip condition: ${{ parameters.Profile }} - template: /eng/common/TestResources/remove-test-resources.yml parameters: ServiceDirectory: ${{ parameters.ServiceDirectory }} ResourceType: perf ServiceConnection: azure-sdk-tests-public

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Azure/azure-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server