-
Notifications
You must be signed in to change notification settings - Fork 484
chore(.github/workflows): cache datadog-agent image (POC for general Docker images caching) #3910
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
base: main
Are you sure you want to change the base?
chore(.github/workflows): cache datadog-agent image (POC for general Docker images caching) #3910
Conversation
…e soon-to-be merged PR as they ran on it
…flakiness is more probable while testing the PR
…and Integration Tests
|
BenchmarksBenchmark execution time: 2025-08-26 11:43:00 Comparing candidate commit 93f203b in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 24 metrics, 0 unstable metrics. |
13741c9
to
030f1c4
Compare
030f1c4
to
b8b863e
Compare
# We need to specify a custom health-check. By default, this container will remain "unhealthy" since | ||
# we don't fully configure it with a valid API key (and possibly other reasons) | ||
# This command just checks for our ability to connect to port 8126 | ||
flags: --name datadog-agent -e DD_HOSTNAME=github-actions-worker -e DD_APM_ENABLED=true -e DD_BIND_HOST=0.0.0.0 -e DD_API_KEY=invalid_key_but_this_is_fine -e DD_TEST_AGENT_HOST=localhost -e DD_TEST_AGENT_PORT=9126 --health-cmd "bash -c '</dev/tcp/127.0.0.1/8126'" -p 8125:8125/udp -p 8126:8126 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I want to find a way to generate this flags
as a single string, as multiline strings don't work well when manipulated in bash and later passed to a command.
Also, I want to reuse the YAML definitions somehow to make this happen. Not sure how yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CUE is the way. Working on this.
257db9e
to
9d77f94
Compare
…it-integration-test
// Increase time WAF time budget to reduce CI flakiness | ||
// Users may build our library with GOTOOLCHAIN=local. If they do, and our | ||
// go.mod file specifies a newer Go version than their local toolchain, their | ||
// build will break. Run our tests with GOTOOLCHAIN=local to ensure that | ||
// our library builds with all of the Go versions we claim to support, | ||
// without having to download a newer one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comments are now in CUE file, not in YAML.
…on-tests/test-contrib-matrix
b4696b9
to
fbda660
Compare
…astane/ktlo/download-agent-once-run-multiple-times
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure whether we gain a lot of benefits by migrating everything to the cue here.
It is still pretty verbose. Maybe there are more ways to not to repeat ourselves in cue? Then again, I'm not sure whether it is a good thing to be terse and implicit.
It is definitely better for the services workflow. But for the pull-request and unit-integration workflows, I'm not sure.
I agree, but I didn't want to take on a full refactor yet. My focus was on I definitely see benefits on using CUE, although it's a bit complex. See what I had to do to achieve the conversion from |
0441ec4
to
d11299f
Compare
f9521df
to
bd8a68a
Compare
ba0972d
to
957c7cf
Compare
What does this PR do?
Caches Docker images, starting with
datadog-agent
.It also improves the DRYness of our workflows by using CUE.
Motivation
We are running 12 jobs, one per contribs' set and each supported Go version, that each one pulls up to 18 images over and over, thus causing:
Reviewer's Checklist
./scripts/lint.sh
locally.Unsure? Have a question? Request a review!