Skip to content

Running the tracer_release scenario group on schedule and push to master#290

Open
nccatoni wants to merge 1 commit intomasterfrom
nccatoni/run-system-tests-tracer_release
Open

Running the tracer_release scenario group on schedule and push to master#290
nccatoni wants to merge 1 commit intomasterfrom
nccatoni/run-system-tests-tracer_release

Conversation

@nccatoni
Copy link

@nccatoni nccatoni commented Jan 22, 2026

Summary

  • Run the tracer_release scenario group on schedule and push to master (instead of appsec), while keeping appsec for pull requests
  • Upload all system-tests results to Test Optimization via push_to_test_optimization: true
  • Pass DD_API_KEY and TEST_OPTIMIZATION_API_KEY explicitly (replacing secrets: inherit)

Details

The scenarios_groups input is set dynamically based on the event type:

  • schedule / push to master → tracer_release (broader release-readiness coverage)
  • pull_requestappsec (existing PR checks unchanged)

@nccatoni nccatoni force-pushed the nccatoni/run-system-tests-tracer_release branch from 6661a3b to 16581cd Compare February 26, 2026 16:34
@nccatoni nccatoni force-pushed the nccatoni/run-system-tests-tracer_release branch from 16581cd to 411965f Compare February 26, 2026 16:37
@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.88%. Comparing base (b7892d9) to head (411965f).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #290   +/-   ##
=======================================
  Coverage   68.88%   68.88%           
=======================================
  Files          56       56           
  Lines        7468     7468           
  Branches     1057     1057           
=======================================
  Hits         5144     5144           
  Misses       1818     1818           
  Partials      506      506           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@nccatoni nccatoni marked this pull request as ready for review March 4, 2026 16:33
@nccatoni nccatoni requested a review from a team as a code owner March 4, 2026 16:33
@nccatoni nccatoni requested review from dubloom and removed request for a team March 4, 2026 16:33
Copy link
Contributor

@dubloom dubloom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Only two questions but this is more me being dumb than me questioning the changes

Comment on lines -45 to +47
secrets: inherit
secrets:
DD_API_KEY: ${{ secrets.DD_API_KEY }}
TEST_OPTIMIZATION_API_KEY: ${{ secrets.DD_API_KEY }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we make that changes ? (like what is the rationale, not we should not do that) ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need the two variables to be populated but they use the same api key here, so instead of duplicating it in the repo config we do this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ohhh makes sense, thank you

binaries_artifact: binaries
desired_execution_time: 600 # 10 minutes
scenarios_groups: appsec
scenarios_groups: ${{ (github.event_name == 'schedule' || github.event_name == 'push') && 'tracer_release' || 'appsec' }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure to understand this.

We want to run the system-tests only when pushing to master and this is a tracer_release or an appsec stuff ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was set up to run only the appsec scenario group on pull requests but we need to run the full tracer_release scenario group on main. I didn't want to change the behavior on pull request so I did this. If you think it is best to run tracer_release for PRs too I'm happy to change it.

PS: The tracer_release scenario group includes appsec and mostly all system-tests making it longer to run than just appsec which was probably the rational behind only activating appsec for pull requests

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With nginx, how much tracer_release would add ? Do we have a lot of test ?

I'd be interested to know if it is taking less or more time than nginx tests because if not, it is better to know at PR stage that we are breaking systemtests. Do you know what the other tracers are doing ?

Copy link
Author

@nccatoni nccatoni Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From what I could find there are two scenarios that are enable for nginx and not in appsec:
AGENT_SUPPORTING_SPAN_EVENTS
TRACING_CONFIG_NONDEFAULT
It's harder to estimate the runtime increase considering that there is also a small time cost for every deactivated scenario on top of the runtime of the two scenarios mentioned above.

The other tracers don't have a consistent behavior, some use tracer_release some use a custom list of scenario

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me ping @xlamorlette-datadog

I have an opinion on it (i'd be good to merge as it is and see if we ever have the issue of breaking system-tests and only see it in main) but I'm not a maintainer so i don't think I should take the decision !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants