Add .NET 9 in tests projects #5096
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
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", "net9.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 |