Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(.github/workflows): add tags-ignore to avoid running CI on pushing tags for contribs and other nested modules #3005

Merged
merged 2 commits into from
Dec 16, 2024

Conversation

darccio
Copy link
Member

@darccio darccio commented Dec 4, 2024

What does this PR do?

Adding tags-ignore to all GitHub Actions' workflows so they don't run when pushing tags.

Motivation

dd-trace-go@v2 has 50+ tags per release, so pushing them generate a lot of workload in CI.

Reviewer's Checklist

  • Changed code has unit tests for its functionality at or near 100% coverage.
  • System-Tests covering this feature have been added and enabled with the va.b.c-dev version tag.
  • There is a benchmark for any new code, or changes to existing code.
  • If this interacts with the agent in a new way, a system test has been added.
  • Add an appropriate team label so this PR gets put in the right place for the release notes.
  • Non-trivial go.mod changes, e.g. adding new modules, are reviewed by @DataDog/dd-trace-go-guild.
  • For internal contributors, a matching PR should be created to the v2-dev branch and reviewed by @DataDog/apm-go.

Unsure? Have a question? Request a review!

@darccio darccio force-pushed the dario.castane/ignore-tags-on-push branch from 034574c to 74620b4 Compare December 4, 2024 15:28
@darccio darccio marked this pull request as ready for review December 4, 2024 15:29
@darccio darccio requested review from a team as code owners December 4, 2024 15:29
Copy link
Contributor

@nsrip-dd nsrip-dd left a comment

Choose a reason for hiding this comment

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

dd-trace-go@v2 has 50+ tags per release, so pushing them generate a lot of workload in CI.

If I understand correctly, this is because there will be seperate modules for each contrib/integration, which we need to tag seperately? But the tags will all point to the same code, right? If so, definitely makes sense not to run redundant CI on those tags.

Comment on lines +12 to +14
tags-ignore:
- 'contrib/**'
- 'instrumentation/**'
Copy link
Contributor

Choose a reason for hiding this comment

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

So these checks would still run on all PRs, but not for each pushed tag, right?

Copy link
Member Author

Choose a reason for hiding this comment

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

Exactly.

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Dec 4, 2024

Datadog Report

Branch report: dario.castane/ignore-tags-on-push
Commit report: 89e9b8f
Test service: dd-trace-go

✅ 0 Failed, 5110 Passed, 67 Skipped, 2m 53.89s Total Time

@darccio
Copy link
Member Author

darccio commented Dec 4, 2024

If I understand correctly, this is because there will be seperate modules for each contrib/integration, which we need to tag seperately? But the tags will all point to the same code, right? If so, definitely makes sense not to run redundant CI on those tags.

Indeed, @nsrip-dd, this is the case. Although the process involves tagging and pushing tags in three phases (1, tag the root module; 2, tag contribs that are imported by other contribs; 3, tagging the rest of modules), they are the same code altogether (replace directives override the version set in each go.mod).

Also, all the code is already tested in the PRs, nightlies, etc.

@pr-commenter
Copy link

pr-commenter bot commented Dec 4, 2024

Benchmarks

Benchmark execution time: 2024-12-04 16:12:20

Comparing candidate commit 74620b4 in PR branch dario.castane/ignore-tags-on-push with baseline commit 076462a in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 58 metrics, 1 unstable metrics.

@darccio darccio merged commit a8665eb into main Dec 16, 2024
182 checks passed
@darccio darccio deleted the dario.castane/ignore-tags-on-push branch December 16, 2024 09:00
e-n-0 added a commit that referenced this pull request Dec 23, 2024
ddtrace/tracer: initialize runtimeMetricsV2 with statsd "direct" client (#3006)

Co-authored-by: Felix Geisendörfer <[email protected]>
Co-authored-by: Nayef Ghattas <[email protected]>

fix(.github/workflows): add tags-ignore to avoid running CI on pushing tags for contribs and other nested modules (#3005)

Co-authored-by: Hannah Kim <[email protected]>

contrib/envoyproxy: envoy external processing support (#2895)

This PR adds a new gRPC Interceptor (StreamServerInterceptor) to support the interception of ext_proc v3 calls to gRPC server. When the interceptor is applied, all messages of the external processing protocol are instrumented without returning an handle to the original server code

Co-authored-by: Eliott Bouhana <[email protected]>
Co-authored-by: Flavien Darche <[email protected]>

add go mod to workflows/apps (#3036)

go.mod: module go.opentelemetry.io/collector/pdata@latest found (v1.21.0), but does not contain package go.opentelemetry.io/collector/pdata/internal/data/protogen/profiles/v1experimental (#3042)

Signed-off-by: Eliott Bouhana <[email protected]>

chore: update latest majors (#2993)
e-n-0 added a commit that referenced this pull request Dec 23, 2024
ddtrace/tracer: initialize runtimeMetricsV2 with statsd "direct" client (#3006)

Co-authored-by: Felix Geisendörfer <[email protected]>
Co-authored-by: Nayef Ghattas <[email protected]>

fix(.github/workflows): add tags-ignore to avoid running CI on pushing tags for contribs and other nested modules (#3005)

Co-authored-by: Hannah Kim <[email protected]>

contrib/envoyproxy: envoy external processing support (#2895)

This PR adds a new gRPC Interceptor (StreamServerInterceptor) to support the interception of ext_proc v3 calls to gRPC server. When the interceptor is applied, all messages of the external processing protocol are instrumented without returning an handle to the original server code

Co-authored-by: Eliott Bouhana <[email protected]>
Co-authored-by: Flavien Darche <[email protected]>

add go mod to workflows/apps (#3036)

go.mod: module go.opentelemetry.io/collector/pdata@latest found (v1.21.0), but does not contain package go.opentelemetry.io/collector/pdata/internal/data/protogen/profiles/v1experimental (#3042)

Signed-off-by: Eliott Bouhana <[email protected]>

chore: update latest majors (#2993)
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.

4 participants