[repo] CI tweaks and improvements (#5651)
This commit is contained in:
parent
625f32f33e
commit
81244d6136
|
@ -33,22 +33,22 @@ ignore:
|
|||
- "test"
|
||||
|
||||
flags:
|
||||
unittests-Solution-Stable:
|
||||
unittests-Solution:
|
||||
carryforward: true
|
||||
paths:
|
||||
- src
|
||||
|
||||
unittests-Solution-Experimental:
|
||||
unittests-Project-Stable:
|
||||
carryforward: true
|
||||
paths:
|
||||
- src
|
||||
|
||||
unittests-Instrumentation-Stable:
|
||||
unittests-Project-Experimental:
|
||||
carryforward: true
|
||||
paths:
|
||||
- src
|
||||
|
||||
unittests-Instrumentation-Experimental:
|
||||
unittests-UnstableCoreLibraries-Experimental:
|
||||
carryforward: true
|
||||
paths:
|
||||
- src
|
||||
|
|
|
@ -65,7 +65,7 @@ jobs:
|
|||
run: dotnet tool install -g dotnet-coverage
|
||||
|
||||
- name: Merging test results
|
||||
run: dotnet-coverage merge -r -f cobertura -o ./TestResults/Cobertura.xml ./TestResults/*.coverage
|
||||
run: dotnet-coverage merge -f cobertura -o ./TestResults/Cobertura.xml ./TestResults/**/*.coverage
|
||||
|
||||
- name: Upload code coverage ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }}
|
||||
uses: codecov/codecov-action@v4
|
||||
|
|
|
@ -27,6 +27,7 @@ jobs:
|
|||
build: ['build/**', '.github/**/*.yml', '**/*.targets', '**/*.props']
|
||||
shared: ['src/Shared/**']
|
||||
code: ['**.cs', '**.csproj', '.editorconfig']
|
||||
solution: ['OpenTelemetry.sln']
|
||||
packaged-code: ['src/**', '!**/*.md']
|
||||
api-code: ['*/OpenTelemetry.Api*/**', '!**/*.md']
|
||||
api-packages: ['src/OpenTelemetry.Api*/**', '!**/*.md']
|
||||
|
@ -50,19 +51,18 @@ jobs:
|
|||
|| contains(needs.detect-changes.outputs.changes, 'build')
|
||||
uses: ./.github/workflows/dotnet-format.yml
|
||||
|
||||
build-test-solution-stable:
|
||||
build-test-solution:
|
||||
needs: detect-changes
|
||||
if: |
|
||||
contains(needs.detect-changes.outputs.changes, 'code')
|
||||
contains(needs.detect-changes.outputs.changes, 'solution')
|
||||
|| contains(needs.detect-changes.outputs.changes, 'build')
|
||||
|| contains(needs.detect-changes.outputs.changes, 'shared')
|
||||
uses: ./.github/workflows/Component.BuildTest.yml
|
||||
with:
|
||||
project-name: 'OpenTelemetry.sln'
|
||||
project-build-commands: '-p:ExposeExperimentalFeatures=false'
|
||||
code-cov-name: 'Solution-Stable'
|
||||
code-cov-name: 'Solution'
|
||||
|
||||
build-test-solution-experimental:
|
||||
build-test-project-stable:
|
||||
needs: detect-changes
|
||||
if: |
|
||||
contains(needs.detect-changes.outputs.changes, 'code')
|
||||
|
@ -70,9 +70,21 @@ jobs:
|
|||
|| contains(needs.detect-changes.outputs.changes, 'shared')
|
||||
uses: ./.github/workflows/Component.BuildTest.yml
|
||||
with:
|
||||
project-name: 'OpenTelemetry.sln'
|
||||
project-name: './build/OpenTelemetry.proj'
|
||||
project-build-commands: '-p:ExposeExperimentalFeatures=false'
|
||||
code-cov-name: 'Project-Stable'
|
||||
|
||||
build-test-project-experimental:
|
||||
needs: detect-changes
|
||||
if: |
|
||||
contains(needs.detect-changes.outputs.changes, 'code')
|
||||
|| contains(needs.detect-changes.outputs.changes, 'build')
|
||||
|| contains(needs.detect-changes.outputs.changes, 'shared')
|
||||
uses: ./.github/workflows/Component.BuildTest.yml
|
||||
with:
|
||||
project-name: './build/OpenTelemetry.proj'
|
||||
project-build-commands: '-p:ExposeExperimentalFeatures=true'
|
||||
code-cov-name: 'Solution-Experimental'
|
||||
code-cov-name: 'Project-Experimental'
|
||||
|
||||
# Build unstable core libraries using stable packages released to NuGet
|
||||
build-test-unstable-core:
|
||||
|
@ -85,7 +97,7 @@ jobs:
|
|||
with:
|
||||
project-name: './build/UnstableCoreLibraries.proj'
|
||||
project-build-commands: '-p:RunningDotNetPack=true -p:ExposeExperimentalFeatures=true'
|
||||
code-cov-name: 'Unstable-Core'
|
||||
code-cov-name: 'UnstableCoreLibraries-Experimental'
|
||||
|
||||
otlp-integration-test:
|
||||
needs: detect-changes
|
||||
|
@ -163,8 +175,9 @@ jobs:
|
|||
detect-changes,
|
||||
lint-md,
|
||||
lint-dotnet-format,
|
||||
build-test-solution-stable,
|
||||
build-test-solution-experimental,
|
||||
build-test-solution,
|
||||
build-test-project-stable,
|
||||
build-test-project-experimental,
|
||||
build-test-unstable-core,
|
||||
otlp-integration-test,
|
||||
w3c-trace-context-integration-test,
|
||||
|
|
|
@ -39,8 +39,8 @@ jobs:
|
|||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v4
|
||||
|
||||
- name: dotnet pack OpenTelemetry.proj
|
||||
run: dotnet pack OpenTelemetry.proj --configuration Release
|
||||
- name: dotnet pack
|
||||
run: dotnet pack ./build/OpenTelemetry.proj --configuration Release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
||||
|
|
|
@ -17,10 +17,10 @@ jobs:
|
|||
uses: actions/setup-dotnet@v4
|
||||
|
||||
- name: dotnet restore
|
||||
run: dotnet restore
|
||||
run: dotnet restore OpenTelemetry.sln
|
||||
|
||||
- name: dotnet format
|
||||
run: dotnet format OpenTelemetry.sln --no-restore --verify-no-changes
|
||||
run: dotnet format OpenTelemetry.sln --no-restore --verify-no-changes # Note: .proj files are currently not supported by dotnet format
|
||||
env:
|
||||
ExposeExperimentalFeatures: false
|
||||
|
||||
|
@ -35,9 +35,9 @@ jobs:
|
|||
uses: actions/setup-dotnet@v4
|
||||
|
||||
- name: dotnet restore
|
||||
run: dotnet restore
|
||||
run: dotnet restore OpenTelemetry.sln
|
||||
|
||||
- name: dotnet format
|
||||
run: dotnet format OpenTelemetry.sln --no-restore --verify-no-changes
|
||||
run: dotnet format OpenTelemetry.sln --no-restore --verify-no-changes # Note: .proj files are currently not supported by dotnet format
|
||||
env:
|
||||
ExposeExperimentalFeatures: true
|
||||
|
|
|
@ -20,8 +20,8 @@ jobs:
|
|||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v4
|
||||
|
||||
- name: Pack
|
||||
run: dotnet pack OpenTelemetry.proj --configuration Release /p:EnablePackageValidation=true /p:ExposeExperimentalFeatures=false /p:RunningDotNetPack=true
|
||||
- name: dotnet pack
|
||||
run: dotnet pack ./build/OpenTelemetry.proj --configuration Release /p:EnablePackageValidation=true /p:ExposeExperimentalFeatures=false /p:RunningDotNetPack=true
|
||||
|
||||
run-package-validation-experimental:
|
||||
runs-on: windows-latest
|
||||
|
@ -37,5 +37,5 @@ jobs:
|
|||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v4
|
||||
|
||||
- name: Pack
|
||||
run: dotnet pack OpenTelemetry.proj --configuration Release /p:EnablePackageValidation=true /p:ExposeExperimentalFeatures=true /p:RunningDotNetPack=true
|
||||
- name: dotnet pack
|
||||
run: dotnet pack ./build/OpenTelemetry.proj --configuration Release /p:EnablePackageValidation=true /p:ExposeExperimentalFeatures=true /p:RunningDotNetPack=true
|
||||
|
|
|
@ -51,13 +51,13 @@ jobs:
|
|||
uses: actions/setup-dotnet@v4
|
||||
|
||||
- name: dotnet restore
|
||||
run: dotnet restore OpenTelemetry.proj -p:RunningDotNetPack=true
|
||||
run: dotnet restore ./build/OpenTelemetry.proj -p:RunningDotNetPack=true
|
||||
|
||||
- name: dotnet build
|
||||
run: dotnet build OpenTelemetry.proj --configuration Release --no-restore -p:Deterministic=true -p:BuildNumber=${{ github.run_number }} -p:RunningDotNetPack=true
|
||||
run: dotnet build ./build/OpenTelemetry.proj --configuration Release --no-restore -p:Deterministic=true -p:BuildNumber=${{ github.run_number }} -p:RunningDotNetPack=true
|
||||
|
||||
- name: dotnet pack
|
||||
run: dotnet pack OpenTelemetry.proj --configuration Release --no-restore --no-build -p:PackTag=${{ github.ref_type == 'tag' && github.ref_name || inputs.tag || '' }}
|
||||
run: dotnet pack ./build/OpenTelemetry.proj --configuration Release --no-restore --no-build -p:PackTag=${{ github.ref_type == 'tag' && github.ref_name || inputs.tag || '' }}
|
||||
|
||||
- name: Publish Artifacts
|
||||
id: upload-artifacts
|
||||
|
|
|
@ -17,7 +17,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
|
|||
global.json = global.json
|
||||
LICENSE.TXT = LICENSE.TXT
|
||||
NuGet.config = NuGet.config
|
||||
OpenTelemetry.proj = OpenTelemetry.proj
|
||||
README.md = README.md
|
||||
THIRD-PARTY-NOTICES.TXT = THIRD-PARTY-NOTICES.TXT
|
||||
VERSIONING.md = VERSIONING.md
|
||||
|
@ -38,6 +37,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{7CB2F02E
|
|||
build\opentelemetry-icon-color.png = build\opentelemetry-icon-color.png
|
||||
build\OpenTelemetry.prod.loose.ruleset = build\OpenTelemetry.prod.loose.ruleset
|
||||
build\OpenTelemetry.prod.ruleset = build\OpenTelemetry.prod.ruleset
|
||||
build\OpenTelemetry.proj = build\OpenTelemetry.proj
|
||||
build\OpenTelemetry.test.ruleset = build\OpenTelemetry.test.ruleset
|
||||
build\RELEASING.md = build\RELEASING.md
|
||||
build\stylecop.json = build\stylecop.json
|
||||
|
|
|
@ -1,16 +1,18 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<RepoRoot>$([System.IO.Directory]::GetParent($(MSBuildThisFileDirectory)).Parent.FullName)</RepoRoot>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<SolutionProjects Include="**\*.csproj" />
|
||||
<PackProjects Include="src\**\*.csproj" />
|
||||
<TestProjects Include="test\**\*.csproj" />
|
||||
<SolutionProjects Include="$(RepoRoot)\**\*.csproj" />
|
||||
<PackProjects Include="$(RepoRoot)\src\**\*.csproj" />
|
||||
<TestProjects Include="$(RepoRoot)\test\**\*.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(RunningDotNetPack)' == 'true'">
|
||||
<!-- Skip building these projects when publish packages workflow runs as
|
||||
these projects need to depend upon instrumentation libraries taking a
|
||||
project reference instead of package reference on API/SDK -->
|
||||
<SolutionProjects Remove="docs\**\**\*.csproj" />
|
||||
<SolutionProjects Remove="examples\**\*.csproj" />
|
||||
<!-- Skip building these projects when publish packages workflow runs -->
|
||||
<SolutionProjects Remove="$(RepoRoot)\docs\**\*.csproj" />
|
||||
<SolutionProjects Remove="$(RepoRoot)\examples\**\*.csproj" />
|
||||
<SolutionProjects Remove="@(TestProjects)" />
|
||||
</ItemGroup>
|
||||
|
|
@ -1,12 +1,16 @@
|
|||
<Project>
|
||||
<ItemGroup>
|
||||
<SolutionProjects Include="..\**\OpenTelemetry.Exporter.Prometheus.AspNetCore*.csproj" />
|
||||
<SolutionProjects Include="..\**\OpenTelemetry.Exporter.Prometheus.HttpListener*.csproj" />
|
||||
<SolutionProjects Include="..\**\OpenTelemetry.Shims.OpenTracing*.csproj" />
|
||||
<PropertyGroup>
|
||||
<RepoRoot>$([System.IO.Directory]::GetParent($(MSBuildThisFileDirectory)).Parent.FullName)</RepoRoot>
|
||||
</PropertyGroup>
|
||||
|
||||
<TestProjects Include="..\test\**\OpenTelemetry.Exporter.Prometheus.AspNetCore.Tests.csproj" />
|
||||
<TestProjects Include="..\test\**\OpenTelemetry.Exporter.Prometheus.HttpListener.Tests.csproj" />
|
||||
<TestProjects Include="..\test\**\OpenTelemetry.Shims.OpenTracing.Tests.csproj" />
|
||||
<ItemGroup>
|
||||
<SolutionProjects Include="$(RepoRoot)\**\OpenTelemetry.Exporter.Prometheus.AspNetCore*.csproj" />
|
||||
<SolutionProjects Include="$(RepoRoot)\**\OpenTelemetry.Exporter.Prometheus.HttpListener*.csproj" />
|
||||
<SolutionProjects Include="$(RepoRoot)\**\OpenTelemetry.Shims.OpenTracing*.csproj" />
|
||||
|
||||
<TestProjects Include="$(RepoRoot)\test\**\OpenTelemetry.Exporter.Prometheus.AspNetCore.Tests.csproj" />
|
||||
<TestProjects Include="$(RepoRoot)\test\**\OpenTelemetry.Exporter.Prometheus.HttpListener.Tests.csproj" />
|
||||
<TestProjects Include="$(RepoRoot)\test\**\OpenTelemetry.Shims.OpenTracing.Tests.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="Build">
|
||||
|
|
Loading…
Reference in New Issue