From e19c4747fe7cd73583039fc62cc263a6bab5f8a3 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Fri, 20 Oct 2023 13:26:07 -0700 Subject: [PATCH 01/24] WIP porting workflow improvements from contrib to main. --- .github/workflows/ci-aot-md.yml | 26 -------- .../ci-instrumentation-libraries-md.yml | 28 --------- .github/workflows/ci-md.yml | 41 ------------ .github/workflows/ci.yml | 63 ++++++++++++++++--- .github/workflows/dotnet-format-md.yml | 22 ------- .github/workflows/dotnet-format.yml | 17 ++--- .github/workflows/integration-md.yml | 39 ------------ .github/workflows/markdownlint.yml | 13 +--- .github/workflows/sanitycheck.yml | 11 ++-- OpenTelemetry.sln | 5 -- 10 files changed, 66 insertions(+), 199 deletions(-) delete mode 100644 .github/workflows/ci-aot-md.yml delete mode 100644 .github/workflows/ci-instrumentation-libraries-md.yml delete mode 100644 .github/workflows/ci-md.yml delete mode 100644 .github/workflows/dotnet-format-md.yml delete mode 100644 .github/workflows/integration-md.yml diff --git a/.github/workflows/ci-aot-md.yml b/.github/workflows/ci-aot-md.yml deleted file mode 100644 index 4d5249296ae..00000000000 --- a/.github/workflows/ci-aot-md.yml +++ /dev/null @@ -1,26 +0,0 @@ -# Syntax: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions -# See also: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks - -# Description: This workflow exists to unblock documentation-only PRs. - -# IMPORTANT: This workflow MUST use the same 'name' and 'matrix' as the non -md workflow. - -name: Publish AOTCompatibility testApp - -on: - pull_request: - branches: [ 'main*' ] - paths: - - '**.md' - -jobs: - aot-test: - strategy: - fail-fast: false # ensures the entire test matrix is run, even if one permutation fails - matrix: - os: [ ubuntu-latest ] - version: [ net8.0 ] - - runs-on: ${{ matrix.os }} - steps: - - run: 'echo "No build required"' diff --git a/.github/workflows/ci-instrumentation-libraries-md.yml b/.github/workflows/ci-instrumentation-libraries-md.yml deleted file mode 100644 index b7fec06fe95..00000000000 --- a/.github/workflows/ci-instrumentation-libraries-md.yml +++ /dev/null @@ -1,28 +0,0 @@ -# Syntax: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions -# See also: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks - -# Description: This workflow exists to unblock documentation-only PRs. - -# IMPORTANT: This workflow MUST use the same 'name' and 'matrix' as the non -md workflow. - -name: Test instrumentation libraries - -on: - pull_request: - branches: [ 'main*' ] - paths: - - '**.md' - -jobs: - build-test: - strategy: - matrix: - os: [ windows-latest, ubuntu-latest ] - version: [ net462, net6.0, net7.0, net8.0 ] - exclude: - - os: ubuntu-latest - version: net462 - - runs-on: ubuntu-latest - steps: - - run: 'echo "No build required"' diff --git a/.github/workflows/ci-md.yml b/.github/workflows/ci-md.yml deleted file mode 100644 index 579b3464e94..00000000000 --- a/.github/workflows/ci-md.yml +++ /dev/null @@ -1,41 +0,0 @@ -# Syntax: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions -# See also: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks - -# Description: This workflow exists to unblock documentation-only PRs. - -# IMPORTANT: This workflow MUST use the same 'name' and 'matrix' as the non -md workflow. - -name: Build - -on: - pull_request: - branches: [ 'main*' ] - paths: - - '**.md' - -jobs: - build-test-stable: - strategy: - matrix: - os: [ windows-latest, ubuntu-latest ] - version: [ net462, net6.0, net7.0, net8.0 ] - exclude: - - os: ubuntu-latest - version: net462 - - runs-on: ubuntu-latest - steps: - - run: 'echo "No build required"' - - build-test-experimental: - strategy: - matrix: - os: [ windows-latest, ubuntu-latest ] - version: [ net462, net6.0, net7.0, net8.0 ] - exclude: - - os: ubuntu-latest - version: net462 - - runs-on: ubuntu-latest - steps: - - run: 'echo "No build required"' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3387af214c0..53995520395 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,17 +1,44 @@ name: Build on: - push: - branches: [ 'main*' ] - paths-ignore: - - '**.md' pull_request: branches: [ 'main*' ] - paths-ignore: - - '**.md' jobs: - build-test-stable: + 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@v3 + id: changes + with: + filters: | + md: ['**.md'] + build: ['build/**', '.github/**/*.yml', '**/*.targets', '**/*.props'] + shared: ['src/Shared/**'] + code: ['**.cs', '.editorconfig'] + + lint-md: + needs: detect-changes + if: contains(needs.detect-changes.outputs.changes, 'md') + uses: ./.github/workflows/markdownlint.yml + + lint-dotnet-format: + needs: detect-changes + if: contains(needs.detect-changes.outputs.changes, 'code') + uses: ./.github/workflows/dotnet-format.yml + + build-test-solution-stable: + 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') + strategy: fail-fast: false # ensures the entire test matrix is run, even if one permutation fails matrix: @@ -39,7 +66,13 @@ jobs: - name: Test ${{ matrix.version }} run: dotnet test **/bin/**/${{ matrix.version }}/*.Tests.dll --logger:"console;verbosity=detailed" - build-test-experimental: + build-test-solution-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') + strategy: fail-fast: false # ensures the entire test matrix is run, even if one permutation fails matrix: @@ -66,3 +99,17 @@ jobs: - name: Test ${{ matrix.version }} run: dotnet test **/bin/**/${{ matrix.version }}/*.Tests.dll --logger:"console;verbosity=detailed" + + build-test: + needs: [ + lint-misspell-sanitycheck, + detect-changes, + lint-md, + lint-dotnet-format, + build-test-solution-stable, + build-test-solution-experimental, + ] + if: always() && !cancelled() && !contains(needs.*.result, 'failure') + runs-on: windows-latest + steps: + - run: echo 'build complete ✓' diff --git a/.github/workflows/dotnet-format-md.yml b/.github/workflows/dotnet-format-md.yml deleted file mode 100644 index d35d16849bb..00000000000 --- a/.github/workflows/dotnet-format-md.yml +++ /dev/null @@ -1,22 +0,0 @@ -# Syntax: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions -# See also: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks - -# Description: This workflow exists to unblock documentation-only PRs. - -# IMPORTANT: This workflow MUST use the same 'name' and 'matrix' as the non -md workflow. - -name: dotnet format - -on: - pull_request: - branches: [ 'main*' ] - paths-ignore: - - '**.cs' - - '.editorconfig' - -jobs: - check-format: - runs-on: ubuntu-latest - - steps: - - run: 'echo "No build required"' diff --git a/.github/workflows/dotnet-format.yml b/.github/workflows/dotnet-format.yml index 69d4b91343f..038a4778130 100644 --- a/.github/workflows/dotnet-format.yml +++ b/.github/workflows/dotnet-format.yml @@ -1,19 +1,10 @@ -name: dotnet format +name: Lint - dotnet format on: - push: - branches: [ 'main*' ] - paths: - - '**.cs' - - '.editorconfig' - pull_request: - branches: [ 'main*' ] - paths: - - '**.cs' - - '.editorconfig' + workflow_call: jobs: - check-format: + run-dotnet-format: runs-on: windows-latest steps: @@ -23,7 +14,7 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v3 - - name: Install format tool + - name: Install dotnet-format run: dotnet tool install -g dotnet-format - name: dotnet format diff --git a/.github/workflows/integration-md.yml b/.github/workflows/integration-md.yml deleted file mode 100644 index 7304792eb68..00000000000 --- a/.github/workflows/integration-md.yml +++ /dev/null @@ -1,39 +0,0 @@ -# Syntax: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions -# See also: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks - -# Description: This workflow exists to unblock documentation-only PRs. - -# IMPORTANT: This workflow MUST use the same 'name' and 'matrix' as the non -md workflow. - -name: Integration Tests - -on: - pull_request: - branches: [ 'main*' ] - paths: - - '**.md' - -jobs: - sql-test: - runs-on: ubuntu-latest - strategy: - matrix: - version: [ net6.0, net7.0, net8.0 ] - steps: - - run: 'echo "No build required"' - - w3c-trace-context-test: - runs-on: ubuntu-latest - strategy: - matrix: - version: [ net6.0, net7.0, net8.0 ] - steps: - - run: 'echo "No build required"' - - otlp-exporter-test: - runs-on: ubuntu-latest - strategy: - matrix: - version: [ net6.0, net7.0 , net8.0 ] - steps: - - run: 'echo "No build required"' diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml index 718d7ec3571..b50664ef0b0 100644 --- a/.github/workflows/markdownlint.yml +++ b/.github/workflows/markdownlint.yml @@ -1,17 +1,10 @@ -name: markdownlint +name: Lint - Markdown on: - push: - branches: [ 'main*' ] - paths: - - '**.md' - pull_request: - branches: [ 'main*' ] - paths: - - '**.md' + workflow_call: jobs: - build: + run-markdownlint: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/sanitycheck.yml b/.github/workflows/sanitycheck.yml index 0d0ec772ed0..899677db69b 100644 --- a/.github/workflows/sanitycheck.yml +++ b/.github/workflows/sanitycheck.yml @@ -1,13 +1,10 @@ -name: sanitycheck +name: Lint - Spelling & Encoding on: - push: - branches: [ 'main*' ] - pull_request: - branches: [ 'main*' ] + workflow_call: jobs: - misspell: + run-misspell: runs-on: ubuntu-latest steps: @@ -22,7 +19,7 @@ jobs: - name: run misspell run: ./bin/misspell -error . - encoding: + run-sanitycheck: runs-on: ubuntu-latest steps: diff --git a/OpenTelemetry.sln b/OpenTelemetry.sln index 922ba6b2d20..e6dd07263e9 100644 --- a/OpenTelemetry.sln +++ b/OpenTelemetry.sln @@ -91,17 +91,12 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{E69578EB-B456-4062-A645-877CD964528B}" ProjectSection(SolutionItems) = preProject .github\workflows\ci-aot.yml = .github\workflows\ci-aot.yml - .github\workflows\ci-aot-md.yml = .github\workflows\ci-aot-md.yml - .github\workflows\ci-instrumentation-libraries-md.yml = .github\workflows\ci-instrumentation-libraries-md.yml .github\workflows\ci-instrumentation-libraries.yml = .github\workflows\ci-instrumentation-libraries.yml - .github\workflows\ci-md.yml = .github\workflows\ci-md.yml .github\workflows\ci.yml = .github\workflows\ci.yml .github\workflows\code-coverage.yml = .github\workflows\code-coverage.yml .github\workflows\codeql-analysis.yml = .github\workflows\codeql-analysis.yml .github\workflows\docfx.yml = .github\workflows\docfx.yml - .github\workflows\dotnet-format-md.yml = .github\workflows\dotnet-format-md.yml .github\workflows\dotnet-format.yml = .github\workflows\dotnet-format.yml - .github\workflows\integration-md.yml = .github\workflows\integration-md.yml .github\workflows\integration.yml = .github\workflows\integration.yml .github\workflows\markdownlint.yml = .github\workflows\markdownlint.yml .github\workflows\package-validation.yml = .github\workflows\package-validation.yml From 0e02a27a1f34c95c28ef68695ac6def54283f1f3 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Sun, 22 Oct 2023 23:54:25 -0700 Subject: [PATCH 02/24] CI cleanup. --- .github/codecov.yml | 26 ++++- .github/workflows/Component.BuildTest.yml | 73 ++++++++++++ .github/workflows/ci-aot.yml | 32 ------ .../ci-instrumentation-libraries.yml | 41 ------- .github/workflows/ci.yml | 108 ++++++++++-------- .github/workflows/code-coverage.yml | 52 --------- .github/workflows/docfx.yml | 9 +- .github/workflows/integration.yml | 17 +-- .github/workflows/package-validation.yml | 9 +- .github/workflows/publish-packages-1.0.yml | 15 +-- .github/workflows/verifyaotcompat.yml | 22 ++++ OpenTelemetry.sln | 6 +- 12 files changed, 196 insertions(+), 214 deletions(-) create mode 100644 .github/workflows/Component.BuildTest.yml delete mode 100644 .github/workflows/ci-aot.yml delete mode 100644 .github/workflows/ci-instrumentation-libraries.yml delete mode 100644 .github/workflows/code-coverage.yml create mode 100644 .github/workflows/verifyaotcompat.yml diff --git a/.github/codecov.yml b/.github/codecov.yml index 1abd5d69c37..a5166688d08 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -23,7 +23,27 @@ comment: require_changes: no ignore: - - "docs/**/*" - - "examples/**/*" - - "test/**/*" - "**.md" + - ".github" + - ".vscode" + - "build" + - "docs" + - "examples" + - "src/Shared" + - "test" + +flags: + unittests-Solution-Stable: + carryforward: true + paths: + - src + + unittests-Solution-Experimental: + carryforward: true + paths: + - src + + unittests-Instrumentation: + carryforward: true + paths: + - src diff --git a/.github/workflows/Component.BuildTest.yml b/.github/workflows/Component.BuildTest.yml new file mode 100644 index 00000000000..bcb5cff486b --- /dev/null +++ b/.github/workflows/Component.BuildTest.yml @@ -0,0 +1,73 @@ +name: Build Component + +on: + workflow_call: + inputs: + project-name: + required: true + type: string + project-build-commands: + default: '' + required: false + type: string + code-cov-name: + required: true + type: string + code-cov-prefix: + default: 'unittests' + required: false + type: string + os-list: + default: '[ "windows-latest", "ubuntu-latest" ]' + required: false + type: string + tfm-list: + default: '[ "net462", "net6.0", "net7.0", "net8.0" ]' + required: false + type: string + +jobs: + build-test: + + strategy: + fail-fast: false # ensures the entire test matrix is run, even if one permutation fails + matrix: + os: ${{ fromJSON(inputs.os-list) }} + version: ${{ fromJSON(inputs.tfm-list) }} + exclude: + - os: ubuntu-latest + version: net462 + + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + + - name: Setup dotnet + uses: actions/setup-dotnet@v3 + + - name: dotnet restore ${{ inputs.project-name }} + run: dotnet restore ${{ inputs.project-name }} ${{ inputs.project-build-commands }} + + - name: dotnet build ${{ inputs.project-name }} + run: dotnet build ${{ inputs.project-name }} --configuration Release --no-restore ${{ inputs.project-build-commands }} + + - name: dotnet test ${{ inputs.project-name }} + run: dotnet test ${{ inputs.project-name }} --collect:"Code Coverage" --results-directory:TestResults --framework ${{ matrix.version }} --configuration Release --no-restore --no-build --logger:"console;verbosity=detailed" -- RunConfiguration.DisableAppDomain=true + + - name: Install coverage tool + run: dotnet tool install -g dotnet-coverage + + - name: Merging test results + run: dotnet-coverage merge -r -f cobertura -o ./TestResults/Cobertura.xml ./TestResults/*.coverage + + - name: Upload code coverage ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }} + uses: codecov/codecov-action@v3.1.4 + continue-on-error: true # Note: Don't fail for upload failures + env: + OS: ${{ matrix.os }} + TFM: ${{ matrix.version }} + with: + file: TestResults/Cobertura.xml + env_vars: OS,TFM + flags: ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }} + name: Code Coverage for ${{ inputs.code-cov-prefix }}-${{ inputs.code-cov-name }} on [${{ matrix.os }}.${{ matrix.version }}] diff --git a/.github/workflows/ci-aot.yml b/.github/workflows/ci-aot.yml deleted file mode 100644 index 1d2149b7751..00000000000 --- a/.github/workflows/ci-aot.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Publish AOTCompatibility testApp - -on: - push: - branches: [ 'main*' ] - paths-ignore: - - '**.md' - pull_request: - branches: [ 'main*' ] - paths-ignore: - - '**.md' - -jobs: - aot-test: - strategy: - fail-fast: false # ensures the entire test matrix is run, even if one permutation fails - matrix: - os: [ ubuntu-latest ] - version: [ net8.0 ] - - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 # fetching all - - - name: Setup dotnet - uses: actions/setup-dotnet@v3 - - - name: publish AOT testApp, assert static analysis warning count, and run the app - shell: pwsh - run: .\build\test-aot-compatibility.ps1 ${{ matrix.version }} diff --git a/.github/workflows/ci-instrumentation-libraries.yml b/.github/workflows/ci-instrumentation-libraries.yml deleted file mode 100644 index 35408d14250..00000000000 --- a/.github/workflows/ci-instrumentation-libraries.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: Test instrumentation libraries # test instrumentation libraries with latest stable version of API/SDK as they are packed against it - -on: - push: - branches: [ 'main*' ] - paths-ignore: - - '**.md' - pull_request: - branches: [ 'main*' ] - paths-ignore: - - '**.md' - -jobs: - build-test: - strategy: - fail-fast: false # ensures the entire test matrix is run, even if one permutation fails - matrix: - os: [ windows-latest, ubuntu-latest ] - version: [ net462, net6.0, net7.0, net8.0 ] - exclude: - - os: ubuntu-latest - version: net462 - - runs-on: ${{ matrix.os }} - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 # fetching all - - - name: Setup dotnet - uses: actions/setup-dotnet@v3 - - - name: Install dependencies - run: dotnet restore ./build/InstrumentationLibraries.proj -p:RunningDotNetPack=true - - - name: Build - run: dotnet build ./build/InstrumentationLibraries.proj --configuration Release --no-restore -p:RunningDotNetPack=true - - - name: Test ${{ matrix.version }} - run: dotnet test **/bin/Release/${{ matrix.version }}/OpenTelemetry.Instrumentation*.Tests.dll --framework ${{ matrix.version }} --configuration Release --no-restore --no-build --logger:"console;verbosity=detailed" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 53995520395..0a9ed8166ba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,11 @@ jobs: md: ['**.md'] build: ['build/**', '.github/**/*.yml', '**/*.targets', '**/*.props'] shared: ['src/Shared/**'] - code: ['**.cs', '.editorconfig'] + code: ['**.cs', '**.csproj', '.editorconfig'] + packaged-code: ['src/**', '!**/*.md'] + instrumentation: ['*/OpenTelemetry.Instrumentation*/**', '!**/*.md'] + api: ['*/OpenTelemetry.Api*/**', '!**/*.md'] + otlp: ['*/OpenTelemetry.Exporter.OpenTelemetryProtocol*/**', '!**/*.md'] lint-md: needs: detect-changes @@ -38,33 +42,10 @@ jobs: contains(needs.detect-changes.outputs.changes, 'code') || contains(needs.detect-changes.outputs.changes, 'build') || contains(needs.detect-changes.outputs.changes, 'shared') - - strategy: - fail-fast: false # ensures the entire test matrix is run, even if one permutation fails - matrix: - os: [ windows-latest, ubuntu-latest ] - version: [ net462, net6.0, net7.0, net8.0 ] - exclude: - - os: ubuntu-latest - version: net462 - - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 # fetching all - - - name: Setup dotnet - uses: actions/setup-dotnet@v3 - - - name: Install dependencies - run: dotnet restore - - - name: Build - run: dotnet build --configuration Release --no-restore --property:ExposeExperimentalFeatures=false - - - name: Test ${{ matrix.version }} - run: dotnet test **/bin/**/${{ matrix.version }}/*.Tests.dll --logger:"console;verbosity=detailed" + uses: ./.github/workflows/Component.BuildTest.yml + with: + project-name: 'OpenTelemetry.sln' + code-cov-name: 'Solution-Stable' build-test-solution-experimental: needs: detect-changes @@ -72,33 +53,55 @@ jobs: 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: 'OpenTelemetry.sln' + project-build-commands: '-p:ExposeExperimentalFeatures=true' + code-cov-name: 'Solution-Experimental' - strategy: - fail-fast: false # ensures the entire test matrix is run, even if one permutation fails - matrix: - os: [ windows-latest, ubuntu-latest ] - version: [ net462, net6.0, net7.0, net8.0 ] - exclude: - - os: ubuntu-latest - version: net462 - - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 # fetching all + build-test-instrumentation: + needs: detect-changes + if: | + contains(needs.detect-changes.outputs.changes, 'instrumentation') + || contains(needs.detect-changes.outputs.changes, 'build') + || contains(needs.detect-changes.outputs.changes, 'shared') + uses: ./.github/workflows/Component.BuildTest.yml + with: + project-name: './build/InstrumentationLibraries.proj' + project-build-commands: '-p:RunningDotNetPack=true' + code-cov-name: 'Instrumentation' - - name: Setup dotnet - uses: actions/setup-dotnet@v3 + integration-test: + if: | + contains(needs.detect-changes.outputs.changes, 'api') + || contains(needs.detect-changes.outputs.changes, 'otlp') + || contains(needs.detect-changes.outputs.changes, 'build') + || contains(needs.detect-changes.outputs.changes, 'shared') + uses: ./.github/workflows/integration.yml - - name: Install dependencies - run: dotnet restore + validate-packages: + needs: detect-changes + if: | + contains(needs.detect-changes.outputs.changes, 'packaged-code') + || contains(needs.detect-changes.outputs.changes, 'build') + || contains(needs.detect-changes.outputs.changes, 'shared') + uses: ./.github/workflows/package-validation.yml - - name: Build - run: dotnet build --configuration Release --no-restore --property:ExposeExperimentalFeatures=true + generate-docs: + needs: detect-changes + if: | + contains(needs.detect-changes.outputs.changes, 'packaged-code') + || contains(needs.detect-changes.outputs.changes, 'build') + || contains(needs.detect-changes.outputs.changes, 'shared') + uses: ./.github/workflows/docfx.yml - - name: Test ${{ matrix.version }} - run: dotnet test **/bin/**/${{ matrix.version }}/*.Tests.dll --logger:"console;verbosity=detailed" + verify-aot-compat: + needs: detect-changes + if: | + contains(needs.detect-changes.outputs.changes, 'packaged-code') + || contains(needs.detect-changes.outputs.changes, 'build') + || contains(needs.detect-changes.outputs.changes, 'shared') + uses: ./.github/workflows/verifyaotcompat.yml build-test: needs: [ @@ -108,6 +111,11 @@ jobs: lint-dotnet-format, build-test-solution-stable, build-test-solution-experimental, + build-test-instrumentation, + integration-test, + validate-packages, + generate-docs, + verify-aot-compat ] if: always() && !cancelled() && !contains(needs.*.result, 'failure') runs-on: windows-latest diff --git a/.github/workflows/code-coverage.yml b/.github/workflows/code-coverage.yml deleted file mode 100644 index b4a9744c3c1..00000000000 --- a/.github/workflows/code-coverage.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: Code Coverage - -on: - push: - branches: [ 'main*' ] - paths-ignore: - - '**.md' - pull_request: - branches: [ 'main*' ] - paths-ignore: - - '**.md' - -jobs: - build-test-report: - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: false - matrix: - os: [windows-latest] - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 # fetching all - - - name: Setup dotnet - uses: actions/setup-dotnet@v3 - - - name: Install dependencies - run: dotnet restore - - - name: Build - run: dotnet build --configuration Release --no-restore --property:ExposeExperimentalFeatures=true - - - name: Test - run: dotnet test --collect:"Code Coverage" --results-directory:"TestResults" --configuration Release --no-restore --no-build -- RunConfiguration.DisableAppDomain=true - - - name: Install coverage tool - run: dotnet tool install -g dotnet-coverage - - - name: Merging test results - run: dotnet-coverage merge -r -f cobertura -o ./TestResults/Cobertura.xml ./TestResults/*.coverage - - - uses: codecov/codecov-action@v3.1.4 - env: - OS: ${{ matrix.os }} - with: - file: TestResults/Cobertura.xml - env_vars: OS - flags: unittests - name: Code Coverage for ${{ matrix.os }} diff --git a/.github/workflows/docfx.yml b/.github/workflows/docfx.yml index d37aa84e4f3..2fc503169af 100644 --- a/.github/workflows/docfx.yml +++ b/.github/workflows/docfx.yml @@ -1,13 +1,10 @@ -name: docfx +name: Build docfx on: - push: - branches: [ 'main*' ] - pull_request: - branches: [ 'main*' ] + workflow_call: jobs: - build: + run-docfx-build: runs-on: windows-latest steps: diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index cf7f63d63d4..3403429bb29 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -1,17 +1,10 @@ name: Integration Tests on: - push: - branches: [ 'main*' ] - paths-ignore: - - '**.md' - pull_request: - branches: [ 'main*' ] - paths-ignore: - - '**.md' + workflow_call: jobs: - w3c-trace-context-test: + run-w3c-trace-context-integration-test: runs-on: ubuntu-latest strategy: fail-fast: false @@ -20,10 +13,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Run W3C Trace Context docker-compose.integration + - name: Run W3C Trace Context docker-compose run: docker-compose --file=test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/docker-compose.yml --file=build/docker-compose.${{ matrix.version }}.yml --project-directory=. up --exit-code-from=tests --build - otlp-exporter-test: + run-otlp-exporter-integration-test: runs-on: ubuntu-latest strategy: fail-fast: false @@ -32,5 +25,5 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Run OTLP Exporter docker-compose.integration + - name: Run OTLP Exporter docker-compose run: docker-compose --file=test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest/docker-compose.yml --file=build/docker-compose.${{ matrix.version }}.yml --project-directory=. up --exit-code-from=tests --build diff --git a/.github/workflows/package-validation.yml b/.github/workflows/package-validation.yml index bae1aa60fea..c46cfe1afc6 100644 --- a/.github/workflows/package-validation.yml +++ b/.github/workflows/package-validation.yml @@ -1,13 +1,10 @@ name: Package Validation on: - pull_request: - branches: [ 'main*' ] - paths-ignore: - - '**.md' + workflow_call: jobs: - build-test-stable: + run-package-validation-stable: runs-on: windows-latest steps: @@ -21,7 +18,7 @@ jobs: - name: Pack run: dotnet pack --configuration Release /p:EnablePackageValidation=true /p:ExposeExperimentalFeatures=false - build-test-experimental: + run-package-validation-experimental: runs-on: windows-latest steps: diff --git a/.github/workflows/publish-packages-1.0.yml b/.github/workflows/publish-packages-1.0.yml index d8fd3d43782..544ad3261ae 100644 --- a/.github/workflows/publish-packages-1.0.yml +++ b/.github/workflows/publish-packages-1.0.yml @@ -5,7 +5,7 @@ ################### IMPORTANT ################### ################################################# -name: Pack and publish to MyGet +name: Build, pack, and publish to MyGet on: release: @@ -14,12 +14,9 @@ on: - cron: '0 0 * * *' # once in a day at 00:00 jobs: - build-pack: + build-pack-publish: runs-on: windows-latest - env: - RunningDotNetPack: true - steps: - uses: actions/checkout@v4 with: @@ -29,14 +26,14 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v3 - - name: Install dependencies - run: dotnet restore OpenTelemetry.proj + - name: dotnet restore + run: dotnet restore 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 }} + run: dotnet 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-build + run: dotnet pack OpenTelemetry.proj --configuration Release --no-restore --no-build - name: Publish Artifacts uses: actions/upload-artifact@v3 diff --git a/.github/workflows/verifyaotcompat.yml b/.github/workflows/verifyaotcompat.yml new file mode 100644 index 00000000000..c437c70c9cc --- /dev/null +++ b/.github/workflows/verifyaotcompat.yml @@ -0,0 +1,22 @@ +name: Publish & Verify AOT Compatibility + +on: + workflow_call: + +jobs: + run-verify-aot-compat: + + strategy: + fail-fast: false # ensures the entire test matrix is run, even if one permutation fails + matrix: + os: [ ubuntu-latest ] + version: [ net8.0 ] + + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + + - name: publish AOT testApp, assert static analysis warning count, and run the app + shell: pwsh + run: .\build\test-aot-compatibility.ps1 ${{ matrix.version }} + diff --git a/OpenTelemetry.sln b/OpenTelemetry.sln index e6dd07263e9..132457fc976 100644 --- a/OpenTelemetry.sln +++ b/OpenTelemetry.sln @@ -77,6 +77,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTelemetry.Exporter.Open EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{F1D0972B-38CF-49C2-9F4B-4C5DE02FB71D}" ProjectSection(SolutionItems) = preProject + .github\codecov.yml = .github\codecov.yml .github\CODEOWNERS = .github\CODEOWNERS .github\PULL_REQUEST_TEMPLATE.md = .github\PULL_REQUEST_TEMPLATE.md EndProjectSection @@ -90,11 +91,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ISSUE_TEMPLATE", "ISSUE_TEM EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{E69578EB-B456-4062-A645-877CD964528B}" ProjectSection(SolutionItems) = preProject - .github\workflows\ci-aot.yml = .github\workflows\ci-aot.yml - .github\workflows\ci-instrumentation-libraries.yml = .github\workflows\ci-instrumentation-libraries.yml .github\workflows\ci.yml = .github\workflows\ci.yml - .github\workflows\code-coverage.yml = .github\workflows\code-coverage.yml .github\workflows\codeql-analysis.yml = .github\workflows\codeql-analysis.yml + .github\workflows\Component.BuildTest.yml = .github\workflows\Component.BuildTest.yml .github\workflows\docfx.yml = .github\workflows\docfx.yml .github\workflows\dotnet-format.yml = .github\workflows\dotnet-format.yml .github\workflows\integration.yml = .github\workflows\integration.yml @@ -103,6 +102,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{ .github\workflows\publish-packages-1.0.yml = .github\workflows\publish-packages-1.0.yml .github\workflows\sanitycheck.yml = .github\workflows\sanitycheck.yml .github\workflows\stale.yml = .github\workflows\stale.yml + .github\workflows\verifyaotcompat.yml = .github\workflows\verifyaotcompat.yml EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C1542297-8763-4DF4-957C-489ED771C21D}" From 6b4532a53f5fc0f2db975d1b7a1a79b3fbf9c653 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Mon, 23 Oct 2023 00:01:22 -0700 Subject: [PATCH 03/24] Fix. --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0a9ed8166ba..ca06cb9e9ad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -72,6 +72,7 @@ jobs: code-cov-name: 'Instrumentation' integration-test: + needs: detect-changes if: | contains(needs.detect-changes.outputs.changes, 'api') || contains(needs.detect-changes.outputs.changes, 'otlp') From 5ddb458258ad7af07d4fccbcb69785536a916c1b Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Mon, 23 Oct 2023 10:06:37 -0700 Subject: [PATCH 04/24] Fixes. --- .github/workflows/ci.yml | 1 + .github/workflows/package-validation.yml | 4 ---- .github/workflows/verifyaotcompat.yml | 3 +++ 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ca06cb9e9ad..21c83f0203b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,6 +45,7 @@ jobs: uses: ./.github/workflows/Component.BuildTest.yml with: project-name: 'OpenTelemetry.sln' + project-build-commands: '-p:ExposeExperimentalFeatures=false' code-cov-name: 'Solution-Stable' build-test-solution-experimental: diff --git a/.github/workflows/package-validation.yml b/.github/workflows/package-validation.yml index 5f913296b64..e046e2b7061 100644 --- a/.github/workflows/package-validation.yml +++ b/.github/workflows/package-validation.yml @@ -9,8 +9,6 @@ jobs: steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 # fetching all - name: Setup dotnet uses: actions/setup-dotnet@v3 @@ -23,8 +21,6 @@ jobs: steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 # fetching all - name: Setup dotnet uses: actions/setup-dotnet@v3 diff --git a/.github/workflows/verifyaotcompat.yml b/.github/workflows/verifyaotcompat.yml index c437c70c9cc..d8314ca9679 100644 --- a/.github/workflows/verifyaotcompat.yml +++ b/.github/workflows/verifyaotcompat.yml @@ -16,6 +16,9 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Setup dotnet + uses: actions/setup-dotnet@v3 + - name: publish AOT testApp, assert static analysis warning count, and run the app shell: pwsh run: .\build\test-aot-compatibility.ps1 ${{ matrix.version }} From 600313e7e22a00f2c4dc9c9740e17453ce2b8ea0 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Fri, 27 Oct 2023 21:32:32 -0700 Subject: [PATCH 05/24] Remove non-ascii character. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 21c83f0203b..c5d4e2a072a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -122,4 +122,4 @@ jobs: if: always() && !cancelled() && !contains(needs.*.result, 'failure') runs-on: windows-latest steps: - - run: echo 'build complete ✓' + - run: echo 'build complete' From 79816afe512cc4ace70e5c2e21544b1d4e391bf0 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Fri, 27 Oct 2023 22:00:20 -0700 Subject: [PATCH 06/24] Tweak. --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c5d4e2a072a..0bccbcfb410 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,6 +76,7 @@ jobs: needs: detect-changes if: | contains(needs.detect-changes.outputs.changes, 'api') + || contains(needs.detect-changes.outputs.changes, 'instrumentation') || contains(needs.detect-changes.outputs.changes, 'otlp') || contains(needs.detect-changes.outputs.changes, 'build') || contains(needs.detect-changes.outputs.changes, 'shared') From 31b789c22228775bb2a2f307693b171180764660 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Fri, 27 Oct 2023 22:23:12 -0700 Subject: [PATCH 07/24] Tweak. --- build/Common.prod.props | 1 + 1 file changed, 1 insertion(+) diff --git a/build/Common.prod.props b/build/Common.prod.props index 555776982f0..4ac92599922 100644 --- a/build/Common.prod.props +++ b/build/Common.prod.props @@ -5,6 +5,7 @@ $(MSBuildThisFileDirectory)/OpenTelemetry.prod.ruleset true false + detailed From d776b6d53058965afe68e39206bcf4919ffd32b3 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Fri, 27 Oct 2023 22:41:14 -0700 Subject: [PATCH 08/24] Fixes. --- .github/workflows/Component.BuildTest.yml | 6 ++++++ .github/workflows/package-validation.yml | 12 ++++++++++++ .github/workflows/publish-packages-1.0.yml | 6 +++++- build/Common.prod.props | 1 - 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Component.BuildTest.yml b/.github/workflows/Component.BuildTest.yml index bcb5cff486b..3f27408f5d2 100644 --- a/.github/workflows/Component.BuildTest.yml +++ b/.github/workflows/Component.BuildTest.yml @@ -41,6 +41,12 @@ jobs: runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 + with: + # Note: By default GitHub only fetches 1 commit. MinVer needs to find + # the version tag which is typically NOT on the first commit so we + # retrieve them all. + fetch-depth: 0 + filter: tree:0 - name: Setup dotnet uses: actions/setup-dotnet@v3 diff --git a/.github/workflows/package-validation.yml b/.github/workflows/package-validation.yml index e046e2b7061..33bc48bdb67 100644 --- a/.github/workflows/package-validation.yml +++ b/.github/workflows/package-validation.yml @@ -9,6 +9,12 @@ jobs: steps: - uses: actions/checkout@v4 + with: + # Note: By default GitHub only fetches 1 commit. MinVer needs to find + # the version tag which is typically NOT on the first commit so we + # retrieve them all. + fetch-depth: 0 + filter: tree:0 - name: Setup dotnet uses: actions/setup-dotnet@v3 @@ -21,6 +27,12 @@ jobs: steps: - uses: actions/checkout@v4 + with: + # Note: By default GitHub only fetches 1 commit. MinVer needs to find + # the version tag which is typically NOT on the first commit so we + # retrieve them all. + fetch-depth: 0 + filter: tree:0 - name: Setup dotnet uses: actions/setup-dotnet@v3 diff --git a/.github/workflows/publish-packages-1.0.yml b/.github/workflows/publish-packages-1.0.yml index 544ad3261ae..68089e413d8 100644 --- a/.github/workflows/publish-packages-1.0.yml +++ b/.github/workflows/publish-packages-1.0.yml @@ -20,7 +20,11 @@ jobs: steps: - uses: actions/checkout@v4 with: - fetch-depth: 0 # fetching all + # Note: By default GitHub only fetches 1 commit. MinVer needs to find + # the version tag which is typically NOT on the first commit so we + # retrieve them all. + fetch-depth: 0 + filter: tree:0 ref: ${{ github.ref || 'main' }} - name: Setup dotnet diff --git a/build/Common.prod.props b/build/Common.prod.props index 4ac92599922..555776982f0 100644 --- a/build/Common.prod.props +++ b/build/Common.prod.props @@ -5,7 +5,6 @@ $(MSBuildThisFileDirectory)/OpenTelemetry.prod.ruleset true false - detailed From 2db4dad9ff2587a44c7f1c3161c963d719edcc89 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Fri, 27 Oct 2023 23:05:17 -0700 Subject: [PATCH 09/24] Fixes. --- .github/workflows/Component.BuildTest.yml | 1 - .github/workflows/package-validation.yml | 2 -- .github/workflows/publish-packages-1.0.yml | 1 - 3 files changed, 4 deletions(-) diff --git a/.github/workflows/Component.BuildTest.yml b/.github/workflows/Component.BuildTest.yml index 3f27408f5d2..5fb00a3ec1e 100644 --- a/.github/workflows/Component.BuildTest.yml +++ b/.github/workflows/Component.BuildTest.yml @@ -46,7 +46,6 @@ jobs: # the version tag which is typically NOT on the first commit so we # retrieve them all. fetch-depth: 0 - filter: tree:0 - name: Setup dotnet uses: actions/setup-dotnet@v3 diff --git a/.github/workflows/package-validation.yml b/.github/workflows/package-validation.yml index 33bc48bdb67..345b12e1e64 100644 --- a/.github/workflows/package-validation.yml +++ b/.github/workflows/package-validation.yml @@ -14,7 +14,6 @@ jobs: # the version tag which is typically NOT on the first commit so we # retrieve them all. fetch-depth: 0 - filter: tree:0 - name: Setup dotnet uses: actions/setup-dotnet@v3 @@ -32,7 +31,6 @@ jobs: # the version tag which is typically NOT on the first commit so we # retrieve them all. fetch-depth: 0 - filter: tree:0 - name: Setup dotnet uses: actions/setup-dotnet@v3 diff --git a/.github/workflows/publish-packages-1.0.yml b/.github/workflows/publish-packages-1.0.yml index 68089e413d8..8f7850ba036 100644 --- a/.github/workflows/publish-packages-1.0.yml +++ b/.github/workflows/publish-packages-1.0.yml @@ -24,7 +24,6 @@ jobs: # the version tag which is typically NOT on the first commit so we # retrieve them all. fetch-depth: 0 - filter: tree:0 ref: ${{ github.ref || 'main' }} - name: Setup dotnet From 112ce8a07aa431009e7508bffac30d2e99387a43 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Mon, 30 Oct 2023 09:35:49 -0700 Subject: [PATCH 10/24] Skip target. --- build/Common.nonprod.props | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/build/Common.nonprod.props b/build/Common.nonprod.props index 84759cd32a4..1e52c27c27b 100644 --- a/build/Common.nonprod.props +++ b/build/Common.nonprod.props @@ -32,4 +32,17 @@ + + + + + <_SkipTests>true + false + + + + From 850f6303c0bdebccfa489c37d8bfa65ea861868c Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Mon, 30 Oct 2023 10:29:10 -0700 Subject: [PATCH 11/24] Tweaks and cleanup. --- .github/codecov.yml | 7 +++- .github/workflows/ci.yml | 68 +++++++++++++++++++++++++------ .github/workflows/integration.yml | 29 ------------- OpenTelemetry.sln | 1 - 4 files changed, 62 insertions(+), 43 deletions(-) delete mode 100644 .github/workflows/integration.yml diff --git a/.github/codecov.yml b/.github/codecov.yml index a5166688d08..b20bf1b2972 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -43,7 +43,12 @@ flags: paths: - src - unittests-Instrumentation: + unittests-Instrumentation-Stable: + carryforward: true + paths: + - src + + unittests-Instrumentation-Experimental: carryforward: true paths: - src diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0bccbcfb410..d4db9a7b7ae 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,8 +22,10 @@ jobs: shared: ['src/Shared/**'] code: ['**.cs', '**.csproj', '.editorconfig'] packaged-code: ['src/**', '!**/*.md'] - instrumentation: ['*/OpenTelemetry.Instrumentation*/**', '!**/*.md'] - api: ['*/OpenTelemetry.Api*/**', '!**/*.md'] + api-packages: ['src/OpenTelemetry.Api*/**', '!**/*.md'] + instrumentation: ['*/OpenTelemetry.Instrumentation*/**', 'test/TestApp.AspNetCore/**', '!**/*.md'] + instrumentation-packages: ['src/OpenTelemetry.Instrumentation*/**', '!**/*.md'] + sdk-package: ['src/OpenTelemetry/**', '!**/*.md'] otlp: ['*/OpenTelemetry.Exporter.OpenTelemetryProtocol*/**', '!**/*.md'] lint-md: @@ -60,27 +62,67 @@ jobs: project-build-commands: '-p:ExposeExperimentalFeatures=true' code-cov-name: 'Solution-Experimental' - build-test-instrumentation: + # Build instrumentation libraries using stable packages released to NuGet + build-test-instrumentation-stable: needs: detect-changes if: | - contains(needs.detect-changes.outputs.changes, 'instrumentation') + contains(needs.detect-changes.outputs.changes, 'instrumentation-packages') || contains(needs.detect-changes.outputs.changes, 'build') || contains(needs.detect-changes.outputs.changes, 'shared') uses: ./.github/workflows/Component.BuildTest.yml with: project-name: './build/InstrumentationLibraries.proj' - project-build-commands: '-p:RunningDotNetPack=true' - code-cov-name: 'Instrumentation' + project-build-commands: '-p:RunningDotNetPack=true -p:ExposeExperimentalFeatures=false' + code-cov-name: 'Instrumentation-Stable' - integration-test: + # Build instrumentation libraries using stable packages released to NuGet + build-test-instrumentation-experimental: needs: detect-changes if: | - contains(needs.detect-changes.outputs.changes, 'api') - || contains(needs.detect-changes.outputs.changes, 'instrumentation') + contains(needs.detect-changes.outputs.changes, 'instrumentation-packages') + || contains(needs.detect-changes.outputs.changes, 'build') + || contains(needs.detect-changes.outputs.changes, 'shared') + uses: ./.github/workflows/Component.BuildTest.yml + with: + project-name: './build/InstrumentationLibraries.proj' + project-build-commands: '-p:RunningDotNetPack=true -p:ExposeExperimentalFeatures=true' + code-cov-name: 'Instrumentation-Experimental' + + otlp-integration-test: + needs: detect-changes + if: | + contains(needs.detect-changes.outputs.changes, 'api-packages') + || contains(needs.detect-changes.outputs.changes, 'sdk-package') || contains(needs.detect-changes.outputs.changes, 'otlp') || contains(needs.detect-changes.outputs.changes, 'build') || contains(needs.detect-changes.outputs.changes, 'shared') - uses: ./.github/workflows/integration.yml + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + version: [ net6.0, net7.0, net8.0 ] + steps: + - uses: actions/checkout@v4 + - name: Run OTLP Exporter docker-compose + run: docker-compose --file=test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest/docker-compose.yml --file=build/docker-compose.${{ matrix.version }}.yml --project-directory=. up --exit-code-from=tests --build + + w3c-trace-context-integration-test: + needs: detect-changes + if: | + contains(needs.detect-changes.outputs.changes, 'api-packages') + || contains(needs.detect-changes.outputs.changes, 'sdk-package') + || contains(needs.detect-changes.outputs.changes, 'instrumentation') + || contains(needs.detect-changes.outputs.changes, 'build') + || contains(needs.detect-changes.outputs.changes, 'shared') + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + version: [ net6.0, net7.0, net8.0 ] + steps: + - uses: actions/checkout@v4 + - name: Run W3C Trace Context docker-compose + run: docker-compose --file=test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/docker-compose.yml --file=build/docker-compose.${{ matrix.version }}.yml --project-directory=. up --exit-code-from=tests --build validate-packages: needs: detect-changes @@ -114,8 +156,10 @@ jobs: lint-dotnet-format, build-test-solution-stable, build-test-solution-experimental, - build-test-instrumentation, - integration-test, + build-test-instrumentation-stable, + build-test-instrumentation-experimental, + otlp-integration-test, + w3c-trace-context-integration-test, validate-packages, generate-docs, verify-aot-compat diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml deleted file mode 100644 index 3403429bb29..00000000000 --- a/.github/workflows/integration.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: Integration Tests - -on: - workflow_call: - -jobs: - run-w3c-trace-context-integration-test: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - version: [ net6.0, net7.0 ] - steps: - - uses: actions/checkout@v4 - - - name: Run W3C Trace Context docker-compose - run: docker-compose --file=test/OpenTelemetry.Instrumentation.W3cTraceContext.Tests/docker-compose.yml --file=build/docker-compose.${{ matrix.version }}.yml --project-directory=. up --exit-code-from=tests --build - - run-otlp-exporter-integration-test: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - version: [ net6.0, net7.0, net8.0 ] - steps: - - uses: actions/checkout@v4 - - - name: Run OTLP Exporter docker-compose - run: docker-compose --file=test/OpenTelemetry.Exporter.OpenTelemetryProtocol.Tests/IntegrationTest/docker-compose.yml --file=build/docker-compose.${{ matrix.version }}.yml --project-directory=. up --exit-code-from=tests --build diff --git a/OpenTelemetry.sln b/OpenTelemetry.sln index 132457fc976..ae8946d2c42 100644 --- a/OpenTelemetry.sln +++ b/OpenTelemetry.sln @@ -96,7 +96,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{ .github\workflows\Component.BuildTest.yml = .github\workflows\Component.BuildTest.yml .github\workflows\docfx.yml = .github\workflows\docfx.yml .github\workflows\dotnet-format.yml = .github\workflows\dotnet-format.yml - .github\workflows\integration.yml = .github\workflows\integration.yml .github\workflows\markdownlint.yml = .github\workflows\markdownlint.yml .github\workflows\package-validation.yml = .github\workflows\package-validation.yml .github\workflows\publish-packages-1.0.yml = .github\workflows\publish-packages-1.0.yml From 76d73ad1a5020acde32af9249879cf5d86ef871e Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Thu, 2 Nov 2023 21:01:07 -0700 Subject: [PATCH 12/24] Manual merge of dotnet-format changes. --- .github/workflows/dotnet-format.yml | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/.github/workflows/dotnet-format.yml b/.github/workflows/dotnet-format.yml index 038a4778130..7aa0582753a 100644 --- a/.github/workflows/dotnet-format.yml +++ b/.github/workflows/dotnet-format.yml @@ -4,7 +4,7 @@ on: workflow_call: jobs: - run-dotnet-format: + run-dotnet-format-stable: runs-on: windows-latest steps: @@ -14,8 +14,28 @@ jobs: - name: Setup dotnet uses: actions/setup-dotnet@v3 - - name: Install dotnet-format - run: dotnet tool install -g dotnet-format + - name: dotnet restore + run: dotnet restore - name: dotnet format - run: dotnet-format --folder --check + run: dotnet format OpenTelemetry.sln --no-restore --verify-no-changes + env: + ExposeExperimentalFeatures: false + + run-dotnet-format-experimental: + runs-on: windows-latest + + steps: + - name: check out code + uses: actions/checkout@v4 + + - name: Setup dotnet + uses: actions/setup-dotnet@v3 + + - name: dotnet restore + run: dotnet restore + + - name: dotnet format + run: dotnet format OpenTelemetry.sln --no-restore --verify-no-changes + env: + ExposeExperimentalFeatures: true From 67f5bae80d8223d64abc4b4a817f1f660fb3aebb Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Thu, 2 Nov 2023 21:07:24 -0700 Subject: [PATCH 13/24] Tweak. --- build/Common.nonprod.props | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build/Common.nonprod.props b/build/Common.nonprod.props index f01bb2439b9..f41bc8c3d39 100644 --- a/build/Common.nonprod.props +++ b/build/Common.nonprod.props @@ -34,8 +34,9 @@ + target. In order to enable running tests for a given framework across a + solution/project with mixed targets (eg: dotnet test OpenTelemetry.sln -f + net462) we convert this into a skip message only. --> <_SkipTests>true false From 6f2305b5b6bc9239334ac6d1ebd8b4f6960babb5 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Thu, 2 Nov 2023 21:43:36 -0700 Subject: [PATCH 14/24] Revert net8.0 for w3c integration tests. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d4db9a7b7ae..f53755d2ac1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -118,7 +118,7 @@ jobs: strategy: fail-fast: false matrix: - version: [ net6.0, net7.0, net8.0 ] + version: [ net6.0, net7.0 ] steps: - uses: actions/checkout@v4 - name: Run W3C Trace Context docker-compose From 9e5129037f48ae0e5cd03898388f97acea48be02 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Thu, 2 Nov 2023 22:04:10 -0700 Subject: [PATCH 15/24] Test build without depth checkout. --- .github/workflows/Component.BuildTest.yml | 5 ----- .github/workflows/package-validation.yml | 10 ---------- 2 files changed, 15 deletions(-) diff --git a/.github/workflows/Component.BuildTest.yml b/.github/workflows/Component.BuildTest.yml index 5fb00a3ec1e..bcb5cff486b 100644 --- a/.github/workflows/Component.BuildTest.yml +++ b/.github/workflows/Component.BuildTest.yml @@ -41,11 +41,6 @@ jobs: runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - with: - # Note: By default GitHub only fetches 1 commit. MinVer needs to find - # the version tag which is typically NOT on the first commit so we - # retrieve them all. - fetch-depth: 0 - name: Setup dotnet uses: actions/setup-dotnet@v3 diff --git a/.github/workflows/package-validation.yml b/.github/workflows/package-validation.yml index 345b12e1e64..e046e2b7061 100644 --- a/.github/workflows/package-validation.yml +++ b/.github/workflows/package-validation.yml @@ -9,11 +9,6 @@ jobs: steps: - uses: actions/checkout@v4 - with: - # Note: By default GitHub only fetches 1 commit. MinVer needs to find - # the version tag which is typically NOT on the first commit so we - # retrieve them all. - fetch-depth: 0 - name: Setup dotnet uses: actions/setup-dotnet@v3 @@ -26,11 +21,6 @@ jobs: steps: - uses: actions/checkout@v4 - with: - # Note: By default GitHub only fetches 1 commit. MinVer needs to find - # the version tag which is typically NOT on the first commit so we - # retrieve them all. - fetch-depth: 0 - name: Setup dotnet uses: actions/setup-dotnet@v3 From 75dfdbcf7e26965cd32b25cbd4595bc11f861395 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Thu, 2 Nov 2023 22:08:14 -0700 Subject: [PATCH 16/24] Revert "Test build without depth checkout." This reverts commit 9e5129037f48ae0e5cd03898388f97acea48be02. --- .github/workflows/Component.BuildTest.yml | 5 +++++ .github/workflows/package-validation.yml | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/.github/workflows/Component.BuildTest.yml b/.github/workflows/Component.BuildTest.yml index bcb5cff486b..5fb00a3ec1e 100644 --- a/.github/workflows/Component.BuildTest.yml +++ b/.github/workflows/Component.BuildTest.yml @@ -41,6 +41,11 @@ jobs: runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 + with: + # Note: By default GitHub only fetches 1 commit. MinVer needs to find + # the version tag which is typically NOT on the first commit so we + # retrieve them all. + fetch-depth: 0 - name: Setup dotnet uses: actions/setup-dotnet@v3 diff --git a/.github/workflows/package-validation.yml b/.github/workflows/package-validation.yml index e046e2b7061..345b12e1e64 100644 --- a/.github/workflows/package-validation.yml +++ b/.github/workflows/package-validation.yml @@ -9,6 +9,11 @@ jobs: steps: - uses: actions/checkout@v4 + with: + # Note: By default GitHub only fetches 1 commit. MinVer needs to find + # the version tag which is typically NOT on the first commit so we + # retrieve them all. + fetch-depth: 0 - name: Setup dotnet uses: actions/setup-dotnet@v3 @@ -21,6 +26,11 @@ jobs: steps: - uses: actions/checkout@v4 + with: + # Note: By default GitHub only fetches 1 commit. MinVer needs to find + # the version tag which is typically NOT on the first commit so we + # retrieve them all. + fetch-depth: 0 - name: Setup dotnet uses: actions/setup-dotnet@v3 From 7d55fb9d6d5ba99b76571dea624693a629b1c236 Mon Sep 17 00:00:00 2001 From: Yun-Ting Date: Fri, 17 Nov 2023 16:04:47 -0800 Subject: [PATCH 17/24] update concurrency-tests ci --- .github/workflows/ci-concurrency-md.yml | 33 ------------------- .github/workflows/ci.yml | 11 ++++++- OpenTelemetry.sln | 1 + ...i-concurrency.yml => concurrency-tests.yml | 0 4 files changed, 11 insertions(+), 34 deletions(-) delete mode 100644 .github/workflows/ci-concurrency-md.yml rename .github/workflows/ci-concurrency.yml => concurrency-tests.yml (100%) diff --git a/.github/workflows/ci-concurrency-md.yml b/.github/workflows/ci-concurrency-md.yml deleted file mode 100644 index f6898c7f9b2..00000000000 --- a/.github/workflows/ci-concurrency-md.yml +++ /dev/null @@ -1,33 +0,0 @@ -# Syntax: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions -# See also: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks - -# Description: This workflow exists to unblock documentation-only PRs. - -# IMPORTANT: This workflow MUST use the same 'name' and 'matrix' as the non -md workflow. - - -name: Coyote Concurrency Tests - -on: - push: - branches: [ 'main*' ] - paths-ignore: - - '**.md' - pull_request: - branches: [ 'main*' ] - paths: - - '**.md' - -jobs: - coyote-concurrency-tests: - - strategy: - fail-fast: false # ensures the entire test matrix is run, even if one permutation fails - matrix: - os: [ windows-latest, ubuntu-latest ] - version: [ net8.0 ] - project: [ OpenTelemetry.Tests, OpenTelemetry.Api.Tests ] - - runs-on: ${{ matrix.os }} - steps: - - run: 'echo "No build required"' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f53755d2ac1..a25fbe2e256 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -148,6 +148,14 @@ jobs: || contains(needs.detect-changes.outputs.changes, 'shared') uses: ./.github/workflows/verifyaotcompat.yml + run-concurrency-tests: + needs: detect-changes + if: | + contains(needs.detect-changes.outputs.changes, 'packaged-code') + || contains(needs.detect-changes.outputs.changes, 'build') + || contains(needs.detect-changes.outputs.changes, 'shared') + uses: ./.github/workflows/concurrency-tests.yml + build-test: needs: [ lint-misspell-sanitycheck, @@ -162,7 +170,8 @@ jobs: w3c-trace-context-integration-test, validate-packages, generate-docs, - verify-aot-compat + verify-aot-compat, + run-concurrency-tests ] if: always() && !cancelled() && !contains(needs.*.result, 'failure') runs-on: windows-latest diff --git a/OpenTelemetry.sln b/OpenTelemetry.sln index 77ffb881ea6..bcebd61a312 100644 --- a/OpenTelemetry.sln +++ b/OpenTelemetry.sln @@ -94,6 +94,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{ .github\workflows\ci.yml = .github\workflows\ci.yml .github\workflows\codeql-analysis.yml = .github\workflows\codeql-analysis.yml .github\workflows\Component.BuildTest.yml = .github\workflows\Component.BuildTest.yml + .github\workflows\concurrency-tests.yml = .github\workflows\concurrency-tests.yml .github\workflows\docfx.yml = .github\workflows\docfx.yml .github\workflows\dotnet-format.yml = .github\workflows\dotnet-format.yml .github\workflows\markdownlint.yml = .github\workflows\markdownlint.yml diff --git a/.github/workflows/ci-concurrency.yml b/concurrency-tests.yml similarity index 100% rename from .github/workflows/ci-concurrency.yml rename to concurrency-tests.yml From 4f5870b69a7ffdcdda97812bf5d09ff44ef6c366 Mon Sep 17 00:00:00 2001 From: Yun-Ting Date: Fri, 17 Nov 2023 16:07:54 -0800 Subject: [PATCH 18/24] fixed location --- concurrency-tests.yml => .github/workflows/concurrency-tests.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename concurrency-tests.yml => .github/workflows/concurrency-tests.yml (100%) diff --git a/concurrency-tests.yml b/.github/workflows/concurrency-tests.yml similarity index 100% rename from concurrency-tests.yml rename to .github/workflows/concurrency-tests.yml From 29d9b86ddeeb539b977ad6279cb5e348f11b2af1 Mon Sep 17 00:00:00 2001 From: Yun-Ting Date: Fri, 17 Nov 2023 16:18:25 -0800 Subject: [PATCH 19/24] removed project def in concurrency-tests yml --- .github/workflows/concurrency-tests.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/concurrency-tests.yml b/.github/workflows/concurrency-tests.yml index 82060ae39f2..33360676b4a 100644 --- a/.github/workflows/concurrency-tests.yml +++ b/.github/workflows/concurrency-tests.yml @@ -18,7 +18,6 @@ jobs: matrix: os: [ windows-latest, ubuntu-latest ] version: [ net8.0 ] - project: [ OpenTelemetry.Tests, OpenTelemetry.Api.Tests ] runs-on: ${{ matrix.os }} steps: From df4b76b0b3989245e0df3e3f1f940f6fbf25c6ba Mon Sep 17 00:00:00 2001 From: Yun-Ting Date: Fri, 17 Nov 2023 17:32:03 -0800 Subject: [PATCH 20/24] Revert "removed project def in concurrency-tests yml" This reverts commit 29d9b86ddeeb539b977ad6279cb5e348f11b2af1. --- .github/workflows/concurrency-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/concurrency-tests.yml b/.github/workflows/concurrency-tests.yml index 33360676b4a..82060ae39f2 100644 --- a/.github/workflows/concurrency-tests.yml +++ b/.github/workflows/concurrency-tests.yml @@ -18,6 +18,7 @@ jobs: matrix: os: [ windows-latest, ubuntu-latest ] version: [ net8.0 ] + project: [ OpenTelemetry.Tests, OpenTelemetry.Api.Tests ] runs-on: ${{ matrix.os }} steps: From 451e3798ef4ed97222e8852ca9ae8b5a57b40b78 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Fri, 17 Nov 2023 20:23:35 -0800 Subject: [PATCH 21/24] Tweaks. --- .github/workflows/ci.yml | 9 ++++++--- .github/workflows/concurrency-tests.yml | 15 +++------------ 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a25fbe2e256..fd8b07ecce5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,9 +22,11 @@ jobs: shared: ['src/Shared/**'] code: ['**.cs', '**.csproj', '.editorconfig'] packaged-code: ['src/**', '!**/*.md'] + api-code: ['*/OpenTelemetry.Api*/**', '!**/*.md'] api-packages: ['src/OpenTelemetry.Api*/**', '!**/*.md'] instrumentation: ['*/OpenTelemetry.Instrumentation*/**', 'test/TestApp.AspNetCore/**', '!**/*.md'] instrumentation-packages: ['src/OpenTelemetry.Instrumentation*/**', '!**/*.md'] + sdk-code: ['src/OpenTelemetry/**', 'test/OpenTelemetry.Tests/**', '!**/*.md'] sdk-package: ['src/OpenTelemetry/**', '!**/*.md'] otlp: ['*/OpenTelemetry.Exporter.OpenTelemetryProtocol*/**', '!**/*.md'] @@ -148,10 +150,11 @@ jobs: || contains(needs.detect-changes.outputs.changes, 'shared') uses: ./.github/workflows/verifyaotcompat.yml - run-concurrency-tests: + concurrency-tests: needs: detect-changes if: | - contains(needs.detect-changes.outputs.changes, 'packaged-code') + contains(needs.detect-changes.outputs.changes, 'api-code') + || contains(needs.detect-changes.outputs.changes, 'sdk-code') || contains(needs.detect-changes.outputs.changes, 'build') || contains(needs.detect-changes.outputs.changes, 'shared') uses: ./.github/workflows/concurrency-tests.yml @@ -171,7 +174,7 @@ jobs: validate-packages, generate-docs, verify-aot-compat, - run-concurrency-tests + concurrency-tests ] if: always() && !cancelled() && !contains(needs.*.result, 'failure') runs-on: windows-latest diff --git a/.github/workflows/concurrency-tests.yml b/.github/workflows/concurrency-tests.yml index 82060ae39f2..e4ec800bc0b 100644 --- a/.github/workflows/concurrency-tests.yml +++ b/.github/workflows/concurrency-tests.yml @@ -1,17 +1,10 @@ -name: Coyote Concurrency Tests +name: Concurrency Tests on: - push: - branches: [ 'main*' ] - paths-ignore: - - '**.md' - pull_request: - branches: [ 'main*' ] - paths-ignore: - - '**.md' + workflow_call: jobs: - coyote-concurrency-tests: + run-concurrency-tests: strategy: fail-fast: false # ensures the entire test matrix is run, even if one permutation fails @@ -23,8 +16,6 @@ jobs: runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 # fetching all - name: Setup dotnet uses: actions/setup-dotnet@v3 From e1c9d0b5003639c831be748d00a13d34805e45d5 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Thu, 7 Dec 2023 10:25:31 -0800 Subject: [PATCH 22/24] Bump actions/setup-dotnet from 3 to 4 --- .github/workflows/Component.BuildTest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Component.BuildTest.yml b/.github/workflows/Component.BuildTest.yml index 5fb00a3ec1e..537fcb16c15 100644 --- a/.github/workflows/Component.BuildTest.yml +++ b/.github/workflows/Component.BuildTest.yml @@ -48,7 +48,7 @@ jobs: fetch-depth: 0 - name: Setup dotnet - uses: actions/setup-dotnet@v3 + uses: actions/setup-dotnet@v4 - name: dotnet restore ${{ inputs.project-name }} run: dotnet restore ${{ inputs.project-name }} ${{ inputs.project-build-commands }} From e1d00adf984db4bc9fc4681bae620ae60b13e817 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Fri, 8 Dec 2023 09:36:58 -0800 Subject: [PATCH 23/24] Add docker-compose.net8.0.yml back to the solution. --- OpenTelemetry.sln | 1 + 1 file changed, 1 insertion(+) diff --git a/OpenTelemetry.sln b/OpenTelemetry.sln index 0977ae268ee..7a33045edda 100644 --- a/OpenTelemetry.sln +++ b/OpenTelemetry.sln @@ -32,6 +32,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{7CB2F02E build\docfx.cmd = build\docfx.cmd build\docker-compose.net6.0.yml = build\docker-compose.net6.0.yml build\docker-compose.net7.0.yml = build\docker-compose.net7.0.yml + build\docker-compose.net8.0.yml = build\docker-compose.net8.0.yml build\finalize-publicapi.ps1 = build\finalize-publicapi.ps1 build\GlobalAttrExclusions.txt = build\GlobalAttrExclusions.txt build\opentelemetry-icon-color.png = build\opentelemetry-icon-color.png From 5b3418ee23fabb1978d9b55594087d95aa65b5f0 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Fri, 8 Dec 2023 09:41:26 -0800 Subject: [PATCH 24/24] Code review. --- .github/workflows/Component.BuildTest.yml | 2 ++ .github/workflows/concurrency-tests.yml | 2 ++ .github/workflows/docfx.yml | 2 ++ .github/workflows/dotnet-format.yml | 2 ++ .github/workflows/markdownlint.yml | 2 ++ .github/workflows/package-validation.yml | 2 ++ .github/workflows/sanitycheck.yml | 2 ++ .github/workflows/verifyaotcompat.yml | 2 ++ 8 files changed, 16 insertions(+) diff --git a/.github/workflows/Component.BuildTest.yml b/.github/workflows/Component.BuildTest.yml index 537fcb16c15..ed28f303288 100644 --- a/.github/workflows/Component.BuildTest.yml +++ b/.github/workflows/Component.BuildTest.yml @@ -1,3 +1,5 @@ +# Called by ci.yml to build & test project files +# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow name: Build Component on: diff --git a/.github/workflows/concurrency-tests.yml b/.github/workflows/concurrency-tests.yml index 8d3e9479783..9e95ca9ade8 100644 --- a/.github/workflows/concurrency-tests.yml +++ b/.github/workflows/concurrency-tests.yml @@ -1,3 +1,5 @@ +# Called by ci.yml to run coyote concurrency tests +# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow name: Concurrency Tests on: diff --git a/.github/workflows/docfx.yml b/.github/workflows/docfx.yml index 2fc503169af..34a94672acf 100644 --- a/.github/workflows/docfx.yml +++ b/.github/workflows/docfx.yml @@ -1,3 +1,5 @@ +# Called by ci.yml to run documentation build +# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow name: Build docfx on: diff --git a/.github/workflows/dotnet-format.yml b/.github/workflows/dotnet-format.yml index b39bd741bb8..b6baf18aab0 100644 --- a/.github/workflows/dotnet-format.yml +++ b/.github/workflows/dotnet-format.yml @@ -1,3 +1,5 @@ +# Called by ci.yml to perform dotnet format linting +# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow name: Lint - dotnet format on: diff --git a/.github/workflows/markdownlint.yml b/.github/workflows/markdownlint.yml index b50664ef0b0..c1061ac89df 100644 --- a/.github/workflows/markdownlint.yml +++ b/.github/workflows/markdownlint.yml @@ -1,3 +1,5 @@ +# Called by ci.yml to perform markdown linting +# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow name: Lint - Markdown on: diff --git a/.github/workflows/package-validation.yml b/.github/workflows/package-validation.yml index 2e0771da138..5fc56716624 100644 --- a/.github/workflows/package-validation.yml +++ b/.github/workflows/package-validation.yml @@ -1,3 +1,5 @@ +# Called by ci.yml to perform package validation +# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow name: Package Validation on: diff --git a/.github/workflows/sanitycheck.yml b/.github/workflows/sanitycheck.yml index 899677db69b..1c01e5a8235 100644 --- a/.github/workflows/sanitycheck.yml +++ b/.github/workflows/sanitycheck.yml @@ -1,3 +1,5 @@ +# Called by ci.yml to perform general linting +# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow name: Lint - Spelling & Encoding on: diff --git a/.github/workflows/verifyaotcompat.yml b/.github/workflows/verifyaotcompat.yml index 6a914e9e440..6a599bb5369 100644 --- a/.github/workflows/verifyaotcompat.yml +++ b/.github/workflows/verifyaotcompat.yml @@ -1,3 +1,5 @@ +# Called by ci.yml to perform AOT validation +# See: https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow name: Publish & Verify AOT Compatibility on: