Skip to content

build: build layers with latest versions of ddtrace for system-tests to consume #629

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

Conversation

florentinl
Copy link
Contributor

@florentinl florentinl commented Jul 10, 2025

What does this PR do?

This PR adds a github workflow to build layers on each update on the main branch. It uses the main branch of dd-trace-py as well to really provide the latest dev version available.

Note: the job takes around 7m (building ddtrace takes the majority of the time)

Motivation

The goal is to have artifacts for up-to-date development version of the layers for the system-tests to consume easily.

This allows the system-tests repo to just fetch a layer without needing any knowledge on how to build layers.

Testing Guidelines

I tested this workflow on my development branch. You can find the execution here: https://github.com/DataDog/datadog-lambda-python/actions/runs/16189728626

Additional Notes

This PR adds a build matrix for every combination of architecture and python version. I don't aim on running system-tests for all of them.
On the one hand I find it practical to have all variants available in the same place and since they all built in parallel adding more combinations doesn't make the CI longer. On the other hand, It also makes sense to just build what is going to be used. I can remove some targets if you think this is too much.

Types of Changes

  • Bug fix
  • New feature
  • Breaking change
  • Misc (docs, refactoring, dependency upgrade, etc.)

Check all that apply

  • This PR's description is comprehensive
  • This PR contains breaking changes that are documented in the description
  • This PR introduces new APIs or parameters that are documented and unlikely to change in the foreseeable future
  • This PR impacts documentation, and it has been updated (or a ticket has been logged)
  • This PR's changes are covered by the automated tests
  • This PR collects user input/sensitive content into Datadog
  • This PR passes the integration tests (ask a Datadog member to run the tests)

@florentinl florentinl requested review from a team as code owners July 10, 2025 08:19
@florentinl florentinl changed the title build: publish artifacts of built layers on main updates for system-tests to consume build: build layers with latest versions of ddtrace for system-tests to consume Jul 10, 2025
Copy link
Contributor

@purple4reina purple4reina left a comment

Choose a reason for hiding this comment

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

Looks good. Help me understand one thing, how will you access these artifacts? Using the github api?

@florentinl
Copy link
Contributor Author

florentinl commented Jul 11, 2025

Looks good. Help me understand one thing, how will you access these artifacts? Using the github api?

Yes exactly using the github API, the system-tests already have a helper function to fetch these: https://github.com/DataDog/system-tests/blob/636c04e8a2e887983fc7c57a58cfc94d95ec6ca7/utils/scripts/load-binary.sh#L120

@florentinl florentinl merged commit a97a1c9 into main Jul 11, 2025
61 checks passed
@florentinl florentinl deleted the florentinl/APPSEC-58014/publish-build-artifacts-for-system-tests branch July 11, 2025 11:37
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.

2 participants