From c5eee4b567cda581d96df345b8e670d75298a3ff Mon Sep 17 00:00:00 2001 From: Andrew Lock Date: Wed, 12 Mar 2025 17:34:41 +0000 Subject: [PATCH 1/6] Combine multiple workflows into one, don't bother building the native code (we don't need it) and add an action that posts suggestions to the PR --- ...ify_app_trimming_changes_are_persisted.yml | 39 ------------ .../verify_solution_changes_are_persisted.yml | 36 ----------- ...source_generated_changes_are_persisted.yml | 60 +++++++++++++++++-- ...rify_span_metadata_markdown_is_updated.yml | 36 ----------- 4 files changed, 56 insertions(+), 115 deletions(-) delete mode 100644 .github/workflows/verify_app_trimming_changes_are_persisted.yml delete mode 100644 .github/workflows/verify_solution_changes_are_persisted.yml delete mode 100644 .github/workflows/verify_span_metadata_markdown_is_updated.yml diff --git a/.github/workflows/verify_app_trimming_changes_are_persisted.yml b/.github/workflows/verify_app_trimming_changes_are_persisted.yml deleted file mode 100644 index 32e5662ef219..000000000000 --- a/.github/workflows/verify_app_trimming_changes_are_persisted.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Verify app trimming xml file changes have been persisted - -on: - pull_request: - workflow_dispatch: - -jobs: - verify_app_trimming_descriptor_generator: - runs-on: windows-latest - permissions: - contents: read - - steps: - - name: Support longpaths - run: git config --system core.longpaths true - - - name: Checkout - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 - - - uses: actions/setup-dotnet@71a4fd9b27383962fc5df13a9c871636b43199b4 # v1.10.0 - with: - dotnet-version: '9.0.102' - - - name: "Removing existing Datadog.Trace.Trimming.xml" - run: Get-ChildItem –Path ".\tracer\src\Datadog.Trace.Trimming\build\Datadog.Trace.Trimming.xml" -Recurse -File | Remove-Item - - - name: "Regenerating Datadog.Trace.Trimming.xml" - run: .\tracer\build.ps1 BuildTracerHome CreateTrimmingFile - - - name: "Verify no changes in Datadog.Trace.Trimming.xml" - run: | - git diff --quiet -- .\tracer\src\Datadog.Trace.Trimming\build - if ($LASTEXITCODE -eq 1) { - git diff -- .\tracer\src\Datadog.Trace.Trimming\build - Write-Error "Found changes in Datadog.Trace.Trimming.xml. Build the solution locally and ensure you have committed the Datadog.Trace.Trimming.xml changes." - Exit 1 - } else { - echo "No changes found to generated files" - } diff --git a/.github/workflows/verify_solution_changes_are_persisted.yml b/.github/workflows/verify_solution_changes_are_persisted.yml deleted file mode 100644 index 71ae37704740..000000000000 --- a/.github/workflows/verify_solution_changes_are_persisted.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Verify Sample solution changes have been persisted - -on: - pull_request: - workflow_dispatch: - -jobs: - verify_solution_changes_are_persisted: - runs-on: windows-latest - permissions: - contents: read - - steps: - - name: Support longpaths - run: git config --system core.longpaths true - - - name: Checkout - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 - - - uses: actions/setup-dotnet@71a4fd9b27383962fc5df13a9c871636b43199b4 # v1.10.0 - with: - dotnet-version: '9.0.102' - - - name: "Regenerating Solutions" - run: .\tracer\build.ps1 RegenerateSolutions - - - name: "Verify no changes in generated solutions" - run: | - git diff --quiet - if ($LASTEXITCODE -eq 1) { - git diff - Write-Error "Found changes in generated solutions. Did you add a new sample? Regenerate the build solution locally by running the target 'RegenerateSolutions', and ensure the changed files are committed to git." - Exit 1 - } else { - echo "No changes found to generated files" - } diff --git a/.github/workflows/verify_source_generated_changes_are_persisted.yml b/.github/workflows/verify_source_generated_changes_are_persisted.yml index 0e9d2c2ef041..25c979964ac8 100644 --- a/.github/workflows/verify_source_generated_changes_are_persisted.yml +++ b/.github/workflows/verify_source_generated_changes_are_persisted.yml @@ -1,4 +1,4 @@ -name: Verify source generator changes have been persisted +name: Verify generated changes have been persisted on: pull_request: @@ -9,6 +9,7 @@ jobs: runs-on: windows-latest permissions: contents: read + pull-requests: write # create review comments with suggest-changes steps: - name: Support longpaths @@ -21,10 +22,19 @@ jobs: with: dotnet-version: '9.0.102' - - name: "Regenerating package versions" - run: .\tracer\build.ps1 Restore CompileManagedSrc + - name: "Removing existing Datadog.Trace.Trimming.xml" + run: Get-ChildItem –Path ".\tracer\src\Datadog.Trace.Trimming\build\Datadog.Trace.Trimming.xml" -Recurse -File | Remove-Item - - name: "Verify no changes in generated files" + - name: "Regenerating Datadog.Trace.Trimming.xml" + run: .\tracer\build.ps1 Restore CompileManagedSrc CompileManagedLoader CreateTrimmingFile + + - name: "Regenerating Solutions" + run: .\tracer\build.ps1 RegenerateSolutions + + - name: "Regenerate docs/span_metadata.md" + run: .\tracer\build.ps1 GenerateSpanDocumentation + + - name: "Verify no changes in source generator files" run: | git diff --quiet -- .\tracer\src\Datadog.Trace\Generated .\tracer\src\Datadog.Tracer.Native\Generated .\tracer\build\supported_calltargets.g.json if ($LASTEXITCODE -eq 1) { @@ -34,3 +44,45 @@ jobs: } else { echo "No changes found to generated files" } + + - name: "Verify no changes in Datadog.Trace.Trimming.xml" + if: ${{ !cancelled() }} # make sure this runs even if the previous step failed + run: | + git diff --quiet -- .\tracer\src\Datadog.Trace.Trimming\build + if ($LASTEXITCODE -eq 1) { + git diff -- .\tracer\src\Datadog.Trace.Trimming\build + Write-Error "Found changes in Datadog.Trace.Trimming.xml. Build the solution locally and ensure you have committed the Datadog.Trace.Trimming.xml changes, or accept the suggestions from the bot." + Exit 1 + } else { + echo "No changes found to generated files" + } + + - name: "Verify no changes in generated solutions" + if: ${{ !cancelled() }} # make sure this runs even if a previous step failed + run: | + git diff --quiet + if ($LASTEXITCODE -eq 1) { + git diff + Write-Error "Found changes in generated solutions. Did you add a new sample? Regenerate the build solution locally by running the target 'RegenerateSolutions', and ensure the changed files are committed to git." + Exit 1 + } else { + echo "No changes found to generated files" + } + + - name: "Verify no changes in docs/span_metadata.md" + if: ${{ !cancelled() }} # make sure this runs even if a previous step failed + run: | + git diff --quiet -- .\docs\span_metadata.md + if ($LASTEXITCODE -eq 1) { + git diff -- .\docs\span_metadata.md + Write-Error "Found changes in docs/span_metadata.md file. Run build task GenerateSpanDocumentation to regenerate the file with the latest C# rules." + Exit 1 + } else { + echo "No changes found to docs/span_metadata.md file" + } + + - uses: parkerbxyz/suggest-changes@459712ee6d904111222530ad28ff6cd8a4218e56 #v2.0.0 + if: ${{ failure() }} # only post a comment with suggestions if we found any changes + with: + comment: 'Please commit the suggested auto-generated changes' + event: 'REQUEST_CHANGES' \ No newline at end of file diff --git a/.github/workflows/verify_span_metadata_markdown_is_updated.yml b/.github/workflows/verify_span_metadata_markdown_is_updated.yml deleted file mode 100644 index 615f2c7e0bfa..000000000000 --- a/.github/workflows/verify_span_metadata_markdown_is_updated.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Verify docs/span_metadata.md is updated - -on: - pull_request: - workflow_dispatch: - -jobs: - verify_span_metadata: - runs-on: windows-latest - permissions: - contents: read - - steps: - - name: Support longpaths - run: git config --system core.longpaths true - - - name: Checkout - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 - - - uses: actions/setup-dotnet@71a4fd9b27383962fc5df13a9c871636b43199b4 # v1.10.0 - with: - dotnet-version: '9.0.102' - - - name: "Regenerate docs/span_metadata.md" - run: .\tracer\build.ps1 GenerateSpanDocumentation - - - name: "Verify no changes in docs/span_metadata.md" - run: | - git diff --quiet -- .\docs\span_metadata.md - if ($LASTEXITCODE -eq 1) { - git diff -- .\docs\span_metadata.md - Write-Error "Found changes in docs/span_metadata.md file. Run build task GenerateSpanDocumentation to regenerate the file with the latest C# rules." - Exit 1 - } else { - echo "No changes found to docs/span_metadata.md file" - } From 901deed89cc6be4dc6c83e121ab5292cebaa704c Mon Sep 17 00:00:00 2001 From: Andrew Lock Date: Thu, 13 Mar 2025 09:17:15 +0000 Subject: [PATCH 2/6] Fix generated solution diff --- .../verify_source_generated_changes_are_persisted.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/verify_source_generated_changes_are_persisted.yml b/.github/workflows/verify_source_generated_changes_are_persisted.yml index 25c979964ac8..fe62a61e165c 100644 --- a/.github/workflows/verify_source_generated_changes_are_persisted.yml +++ b/.github/workflows/verify_source_generated_changes_are_persisted.yml @@ -60,9 +60,9 @@ jobs: - name: "Verify no changes in generated solutions" if: ${{ !cancelled() }} # make sure this runs even if a previous step failed run: | - git diff --quiet + git diff --quiet -- *.g.sln if ($LASTEXITCODE -eq 1) { - git diff + git diff -- *.g.sln Write-Error "Found changes in generated solutions. Did you add a new sample? Regenerate the build solution locally by running the target 'RegenerateSolutions', and ensure the changed files are committed to git." Exit 1 } else { From 2333059d0d152f3803c571209782f128c573f2cc Mon Sep 17 00:00:00 2001 From: Andrew Lock Date: Thu, 13 Mar 2025 09:19:26 +0000 Subject: [PATCH 3/6] Default to comment instead, to avoid needing to discard review --- .../verify_source_generated_changes_are_persisted.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/verify_source_generated_changes_are_persisted.yml b/.github/workflows/verify_source_generated_changes_are_persisted.yml index fe62a61e165c..0e7e975a63e7 100644 --- a/.github/workflows/verify_source_generated_changes_are_persisted.yml +++ b/.github/workflows/verify_source_generated_changes_are_persisted.yml @@ -84,5 +84,4 @@ jobs: - uses: parkerbxyz/suggest-changes@459712ee6d904111222530ad28ff6cd8a4218e56 #v2.0.0 if: ${{ failure() }} # only post a comment with suggestions if we found any changes with: - comment: 'Please commit the suggested auto-generated changes' - event: 'REQUEST_CHANGES' \ No newline at end of file + comment: 'Please commit the suggested auto-generated changes' \ No newline at end of file From e8c1afab95849cdcbab3f7546c578b56c430b8d2 Mon Sep 17 00:00:00 2001 From: Andrew Lock Date: Thu, 13 Mar 2025 11:09:26 +0000 Subject: [PATCH 4/6] TEMP: add new reference that needs trimming --- tracer/src/Datadog.Trace/Tracer.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tracer/src/Datadog.Trace/Tracer.cs b/tracer/src/Datadog.Trace/Tracer.cs index c846b06d9f7a..844603d30407 100644 --- a/tracer/src/Datadog.Trace/Tracer.cs +++ b/tracer/src/Datadog.Trace/Tracer.cs @@ -290,6 +290,17 @@ internal static void UnsafeSetTracerInstance(Tracer instance) instance?.TracerManager.Start(); } +#if NETCOREAPP3_1_OR_GREATER + /// + /// TEMP for testing trimming + /// + public void Testing() + { + var x = new Microsoft.AspNetCore.Http.CookieBuilder(); + x.Name = "test"; + } +#endif + /// /// This creates a new span with the given parameters and makes it active. /// From 0bebbeeca1e2f4c047145e0927c818303dac68ed Mon Sep 17 00:00:00 2001 From: Andrew Lock Date: Thu, 13 Mar 2025 12:36:44 +0000 Subject: [PATCH 5/6] Not sure why this isn't working now... --- .../verify_source_generated_changes_are_persisted.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/verify_source_generated_changes_are_persisted.yml b/.github/workflows/verify_source_generated_changes_are_persisted.yml index 0e7e975a63e7..fe62a61e165c 100644 --- a/.github/workflows/verify_source_generated_changes_are_persisted.yml +++ b/.github/workflows/verify_source_generated_changes_are_persisted.yml @@ -84,4 +84,5 @@ jobs: - uses: parkerbxyz/suggest-changes@459712ee6d904111222530ad28ff6cd8a4218e56 #v2.0.0 if: ${{ failure() }} # only post a comment with suggestions if we found any changes with: - comment: 'Please commit the suggested auto-generated changes' \ No newline at end of file + comment: 'Please commit the suggested auto-generated changes' + event: 'REQUEST_CHANGES' \ No newline at end of file From 2c88689d608944a508031e6e1d9dbd0c69528c1e Mon Sep 17 00:00:00 2001 From: Andrew Lock Date: Fri, 14 Mar 2025 12:10:20 +0000 Subject: [PATCH 6/6] Try adding debug logs --- .../verify_source_generated_changes_are_persisted.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/verify_source_generated_changes_are_persisted.yml b/.github/workflows/verify_source_generated_changes_are_persisted.yml index fe62a61e165c..a5da7c2a6679 100644 --- a/.github/workflows/verify_source_generated_changes_are_persisted.yml +++ b/.github/workflows/verify_source_generated_changes_are_persisted.yml @@ -85,4 +85,6 @@ jobs: if: ${{ failure() }} # only post a comment with suggestions if we found any changes with: comment: 'Please commit the suggested auto-generated changes' - event: 'REQUEST_CHANGES' \ No newline at end of file + event: 'REQUEST_CHANGES' + env: + ACTIONS_STEP_DEBUG: true \ No newline at end of file