Skip to content

[shared] Use nameof for CallerArgumentExpression in Guard helpers #4874

[shared] Use nameof for CallerArgumentExpression in Guard helpers

[shared] Use nameof for CallerArgumentExpression in Guard helpers #4874

Workflow file for this run

name: Build
on:
pull_request:
branches: [ 'main*', 'instrumentation*', 'exporter*', 'extensions*' ]
jobs:
lint-misspell-sanitycheck:
uses: ./.github/workflows/sanitycheck.yml
detect-changes:
runs-on: windows-latest
outputs:
changes: ${{ steps.changes.outputs.changes }}
steps:
- uses: AurorNZ/paths-filter@v4
id: changes
with:
filters: |
md: [ '**.md' ]
yml: [ '**.yml', '**.yaml', '.yamllint' ]
build: ['build/**', '.github/**/*.yml', '!.github/workflows/package-*', '**/*.targets', '**/*.props']
shared: ['src/Shared/**', 'test/Shared/**']
contrib-shared-tests: ['test/OpenTelemetry.Contrib.Shared.Tests/**']
code: ['**.cs', '**.csproj', '.editorconfig']
aottestapp: ['test/OpenTelemetry.AotCompatibility.TestApp/**']
exporter-geneva: ['*/OpenTelemetry.Exporter.Geneva*/**', '!**/*.md']
exporter-influxdb: ['*/OpenTelemetry.Exporter.InfluxDB*/**', '!**/*.md']
exporter-instana: ['*/OpenTelemetry.Exporter.Instana*/**', '!**/*.md']
exporter-onecollector: ['*/OpenTelemetry.Exporter.OneCollector*/**', '!**/*.md']
exporter-stackdriver: ['*/OpenTelemetry.Exporter.Stackdriver*/**', '!**/*.md']
extensions: ['*/OpenTelemetry.Extensions/**', '*/OpenTelemetry.Extensions.Tests/**', '!**/*.md']
extensions-enrichment: ['*/OpenTelemetry.Extensions.Enrichment*/**', '!**/*.md']
instrumentation-aspnet: ['*/OpenTelemetry.Instrumentation.AspNet/**', '*/OpenTelemetry.Instrumentation.AspNet.Tests/**', '*/OpenTelemetry.Instrumentation.OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule.*/**', 'examples/AspNet/**', '!**/*.md']
instrumentation-aspnetcore: ['*/OpenTelemetry.Instrumentation.AspNetCore*/**', '!**/*.md']
instrumentation-aws: ['*/OpenTelemetry.Extensions.AWS*/**', '*/OpenTelemetry.Instrumentation.AWS*/**', '!**/*.md']
instrumentation-cassandra: ['*/OpenTelemetry.Instrumentation.Cassandra*/**', '!**/*.md']
instrumentation-confluentkafka: ['*/OpenTelemetry.Instrumentation.ConfluentKafka*/**', 'examples/kafka/**', '!**/*.md']
instrumentation-elasticsearchclient: ['*/OpenTelemetry.Instrumentation.ElasticsearchClient*/**', '!**/*.md']
instrumentation-entityframeworkcore: ['*/OpenTelemetry.Instrumentation.EntityFrameworkCore*/**', '!**/*.md']
instrumentation-eventcounters: ['*/OpenTelemetry.Instrumentation.EventCounters*/**', 'examples/event-counters/**', '!**/*.md']
instrumentation-grpccore: ['*/OpenTelemetry.Instrumentation.GrpcCore*/**', '!**/*.md']
instrumentation-grpcnetclient: ['*/OpenTelemetry.Instrumentation.GrpcNetClient*/**', '!**/*.md']
instrumentation-hangfire: ['*/OpenTelemetry.Instrumentation.Hangfire*/**', '!**/*.md']
instrumentation-http: ['*/OpenTelemetry.Instrumentation.Http*/**', '!**/*.md']
instrumentation-owin: ['*/OpenTelemetry.Instrumentation.Owin*/**', 'examples/owin/**', '!**/*.md']
instrumentation-process: ['*/OpenTelemetry.Instrumentation.Process*/**', 'examples/process-instrumentation/**', '!**/*.md']
instrumentation-quartz: ['*/OpenTelemetry.Instrumentation.Quartz*/**', '!**/*.md']
instrumentation-runtime: ['*/OpenTelemetry.Instrumentation.Runtime*/**', 'examples/runtime-instrumentation/**', '!**/*.md']
instrumentation-sqlclient: ['*/OpenTelemetry.Instrumentation.SqlClient*/**', '!**/*.md']
instrumentation-stackexchangeredis: ['*/OpenTelemetry.Instrumentation.StackExchangeRedis*/**', 'examples/redis/**', '!**/*.md']
instrumentation-wcf: ['*/OpenTelemetry.Instrumentation.Wcf*/**', 'examples/wcf/**', '!**/*.md']
persistentstorage: ['*/OpenTelemetry.PersistentStorage*/**', '!**/*.md']
resources-aws: ['*/OpenTelemetry.Resources.AWS*/**', '!**/*.md']
resources-azure: ['*/OpenTelemetry.Resources.Azure*/**', '!**/*.md']
resources-container: ['*/OpenTelemetry.Resources.Container*/**', '!**/*.md']
resources-gcp: ['*/OpenTelemetry.Resources.Gcp*/**', '!**/*.md']
resources-host: ['*/OpenTelemetry.Resources.Host*/**', '!**/*.md']
resources-operatingsystem: ['*/OpenTelemetry.Resources.OperatingSystem/**', '*/OpenTelemetry.Resources.OperatingSystem.Tests/**', '!**/*.md']
resources-process: ['*/OpenTelemetry.Resources.Process/**', '*/OpenTelemetry.Resources.Process.Tests/**', '!**/*.md']
resources-processruntime: ['*/OpenTelemetry.Resources.ProcessRuntime/**', '*/OpenTelemetry.Resources.ProcessRuntime.Tests/**', '!**/*.md']
sampler-aws: ['*/OpenTelemetry.Sampler.AWS*/**', '!**/*.md']
semanticconventions: ['*/OpenTelemetry.SemanticConventions*/**', '!**/*.md']
lint-md:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'md')
|| contains(needs.detect-changes.outputs.changes, 'build')
uses: ./.github/workflows/markdownlint.yml
lint-yml:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'yml')
|| contains(needs.detect-changes.outputs.changes, 'build')
uses: ./.github/workflows/yamllint.yml
lint-dotnet-format:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'code')
|| contains(needs.detect-changes.outputs.changes, 'build')
uses: ./.github/workflows/dotnet-format.yml
build-test-exporter-geneva:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'exporter-geneva')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Exporter.Geneva]
code-cov-name: Exporter.Geneva
build-test-exporter-geneva-integration:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'exporter-geneva')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Exporter.Geneva]
code-cov-name: Exporter.Geneva
os-list: '[ "ubuntu-24.04" ]' # Note: This may be switched to latest once ubuntu-latest has a kernel version >= 6.8.0-1014-azure
tfm-list: '[ "net8.0" ]' # Note: Should be able to remove this once the above is using ubuntu-latest
test-case-filter: CategoryName=Geneva:user_events:metrics
test-require-elevated: true
pack: false
build-test-exporter-influxdb:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'exporter-influxdb')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.Exporter.InfluxDB
code-cov-name: Exporter.InfluxDB
build-test-exporter-instana:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'exporter-instana')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Exporter.Instana]
code-cov-name: Exporter.Instana
build-test-exporter-onecollector:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'exporter-onecollector')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Exporter.OneCollector]
code-cov-name: Exporter.OneCollector
build-test-exporter-stackdriver:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'exporter-stackdriver')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Exporter.Stackdriver]
code-cov-name: Exporter.Stackdriver
build-test-extensions:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'extensions')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Extensions]
code-cov-name: Extensions
build-test-extensions-enrichment:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'extensions-enrichment')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.Extensions.Enrichment
code-cov-name: Extensions.Enrichment
build-test-instrumentation-aspnet:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-aspnet')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.Instrumentation.AspNet
code-cov-name: Instrumentation.AspNet
os-list: '[ "windows-latest" ]'
tfm-list: '[ "net462" ]'
build-test-instrumentation-aspnetcore:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-aspnetcore')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.Instrumentation.AspNetCore
code-cov-name: Instrumentation.AspNetCore
tfm-list: '[ "net8.0" ]'
build-test-instrumentation-aws:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-aws')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.Instrumentation.AWS
code-cov-name: Instrumentation.AWS
build-test-instrumentation-cassandra:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-cassandra')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Instrumentation.Cassandra]
code-cov-name: Instrumentation.Cassandra
run-tests: false
# Note: There is a unit test project for Cassandra but it only contains
# integration tests, which get skipped. This results in empty coverage
# files which messes with codecov. Enable tests if any real unit tests
# get added.
build-test-instrumentation-confluentkafka:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-confluentkafka')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Instrumentation.ConfluentKafka]
code-cov-name: Instrumentation.ConfluentKafka
build-test-instrumentation-confluentkafka-integration:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-confluentkafka')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/integration.yml
with:
job: kafka-integration-test
build-test-instrumentation-elasticsearchclient:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-elasticsearchclient')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Instrumentation.ElasticsearchClient]
code-cov-name: Instrumentation.ElasticsearchClient
build-test-instrumentation-entityframeworkcore:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-entityframeworkcore')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Instrumentation.EntityFrameworkCore]
code-cov-name: Instrumentation.EntityFrameworkCore
build-test-instrumentation-eventcounters:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-eventcounters')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.Instrumentation.EventCounters
code-cov-name: Instrumentation.EventCounters
tfm-list: '[ "net8.0" ]'
build-test-instrumentation-grpccore:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-grpccore')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.Instrumentation.GrpcCore
code-cov-name: Instrumentation.GrpcCore
build-test-instrumentation-grpcnetclient:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-grpcnetclient')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Instrumentation.GrpcNetClient]
code-cov-name: Instrumentation.GrpcNetClient
build-test-instrumentation-hangfire:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-hangfire')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Instrumentation.Hangfire]
code-cov-name: Instrumentation.Hangfire
build-test-instrumentation-http:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-http')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Instrumentation.Http]
code-cov-name: Instrumentation.Http
build-test-instrumentation-owin:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-owin')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.Instrumentation.Owin
code-cov-name: Instrumentation.Owin
os-list: '[ "windows-latest" ]'
tfm-list: '[ "net462" ]'
build-test-instrumentation-process:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-process')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.Instrumentation.Process
code-cov-name: Instrumentation.Process
build-test-instrumentation-quartz:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-quartz')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Instrumentation.Quartz]
code-cov-name: Instrumentation.Quartz
build-test-instrumentation-runtime:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-runtime')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.Instrumentation.Runtime
code-cov-name: Instrumentation.Runtime
build-test-instrumentation-sqlclient:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-sqlclient')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Instrumentation.SqlClient]
code-cov-name: Instrumentation.SqlClient
build-test-instrumentation-stackexchangeredis:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-stackexchangeredis')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.Instrumentation.StackExchangeRedis
code-cov-name: Instrumentation.StackExchangeRedis
build-test-instrumentation-stackexchangeredis-integration:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-stackexchangeredis')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/integration.yml
with:
job: redis-integration-test
build-test-instrumentation-wcf:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'instrumentation-wcf')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.Instrumentation.Wcf
code-cov-name: Instrumentation.Wcf
build-test-persistentstorage:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'persistentstorage')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.PersistentStorage
code-cov-name: PersistentStorage
build-test-resources-aws:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'resources-aws')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Resources.AWS]
code-cov-name: Resources.AWS
build-test-resources-azure:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'resources-azure')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Resources.Azure]
code-cov-name: Resources.Azure
build-test-resources-container:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'resources-container')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Resources.Container]
code-cov-name: Resources.Container
build-test-resources-gcp:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'resources-gcp')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Resources.Gcp]
code-cov-name: Resources.Gcp
build-test-resources-host:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'resources-host')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Resources.Host]
code-cov-name: Resources.Host
os-list: '[ "windows-latest", "ubuntu-latest", "macos-latest" ]'
build-test-resources-operatingsystem:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'resources-operatingsystem')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Resources.OperatingSystem]
code-cov-name: Resources.OperatingSystem
os-list: '[ "windows-latest", "ubuntu-latest", "macos-latest" ]'
build-test-resources-process:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'resources-process')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Resources.Process]
code-cov-name: Resources.Process
build-test-resources-processruntime:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'resources-processruntime')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Resources.ProcessRuntime]
code-cov-name: Resources.ProcessRuntime
build-test-sampler-aws:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'sampler-aws')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: Component[OpenTelemetry.Sampler.AWS]
code-cov-name: Sampler.AWS
build-test-semanticconventions:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'semanticconventions')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.SemanticConventions
code-cov-name: SemanticConventions
run-tests: false # Note: No test project
build-test-contrib-shared-tests:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'contrib-shared-tests')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/Component.BuildTest.yml
with:
project-name: OpenTelemetry.Contrib.Shared.Tests
code-cov-name: Contrib.Shared.Tests
verify-aot-compat:
needs: detect-changes
if: |
contains(needs.detect-changes.outputs.changes, 'exporter-geneva')
|| contains(needs.detect-changes.outputs.changes, 'exporter-onecollector')
|| contains(needs.detect-changes.outputs.changes, 'extensions')
|| contains(needs.detect-changes.outputs.changes, 'extensions-enrichment')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-aspnetcore')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-aws')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-confluentkafka')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-eventcounters')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-grpcnetclient')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-http')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-runtime')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-sqlclient')
|| contains(needs.detect-changes.outputs.changes, 'instrumentation-stackexchangeredis')
|| contains(needs.detect-changes.outputs.changes, 'resources-aws')
|| contains(needs.detect-changes.outputs.changes, 'resources-azure')
|| contains(needs.detect-changes.outputs.changes, 'resources-container')
|| contains(needs.detect-changes.outputs.changes, 'resources-host')
|| contains(needs.detect-changes.outputs.changes, 'resources-operatingsystem')
|| contains(needs.detect-changes.outputs.changes, 'resources-process')
|| contains(needs.detect-changes.outputs.changes, 'resources-processruntime')
|| contains(needs.detect-changes.outputs.changes, 'sampler-aws')
|| contains(needs.detect-changes.outputs.changes, 'aot')
|| contains(needs.detect-changes.outputs.changes, 'aottestapp')
|| contains(needs.detect-changes.outputs.changes, 'build')
|| contains(needs.detect-changes.outputs.changes, 'shared')
uses: ./.github/workflows/verifyaotcompat.yml
build-test:
needs: [
lint-misspell-sanitycheck,
detect-changes,
lint-md,
lint-yml,
lint-dotnet-format,
build-test-exporter-geneva,
build-test-exporter-geneva-integration,
build-test-exporter-influxdb,
build-test-exporter-instana,
build-test-exporter-onecollector,
build-test-exporter-stackdriver,
build-test-extensions,
build-test-extensions-enrichment,
build-test-instrumentation-aspnet,
build-test-instrumentation-aspnetcore,
build-test-instrumentation-aws,
build-test-instrumentation-cassandra,
build-test-instrumentation-confluentkafka,
build-test-instrumentation-elasticsearchclient,
build-test-instrumentation-entityframeworkcore,
build-test-instrumentation-eventcounters,
build-test-instrumentation-grpccore,
build-test-instrumentation-grpcnetclient,
build-test-instrumentation-hangfire,
build-test-instrumentation-http,
build-test-instrumentation-owin,
build-test-instrumentation-process,
build-test-instrumentation-quartz,
build-test-instrumentation-runtime,
build-test-instrumentation-sqlclient,
build-test-instrumentation-stackexchangeredis,
build-test-instrumentation-stackexchangeredis-integration,
build-test-instrumentation-wcf,
build-test-persistentstorage,
build-test-resources-aws,
build-test-resources-azure,
build-test-resources-container,
build-test-resources-gcp,
build-test-resources-host,
build-test-resources-process,
build-test-resources-processruntime,
build-test-sampler-aws,
build-test-semanticconventions,
build-test-contrib-shared-tests,
verify-aot-compat
]
if: always() && !cancelled()
runs-on: ubuntu-latest
steps:
- run: |
if ( ${{ contains(needs.*.result, 'failure') }} == true ); then echo 'build failed ✗'; exit 1; else echo 'build complete ✓'; fi