Skip to content

Conversation

@chouquette
Copy link

@chouquette chouquette commented Jan 20, 2025

Calling fetcher.clean end up calling fetcher.deploy for all the sources we fetch.
This doesn't impact the build part, sources are only extracted like they would if there was a cache miss.

https://datadoghq.atlassian.net/browse/BARX-773

Even when restoring the build from cache
deploy isn't available for all fetchers
@chouquette chouquette requested a review from a team as a code owner January 20, 2025 14:53
@chouquette chouquette merged commit 7ca4008 into datadog-5.5.0 Jan 21, 2025
2 of 3 checks passed
@chouquette chouquette deleted the chouquette/always_ship_sources branch January 21, 2025 12:19
Pythyu added a commit that referenced this pull request Mar 21, 2025
* Support an explicit target install location for macOS packages (#215)

* configure: use the expected default value for windows prefix (#216)

* use the expected default value for windows prefix

* allow --build to be ommited from configure args

* replace unless with if not

* Always ship source/source offers (#217)

* software: always ship the source or source offer

Even when restoring the build from cache

* attempt clean instead of deployed

deploy isn't available for all fetchers

* [BARX-775] Clone directly to the right revision (#218)

* Replace git clone by git fetch to the right version

* add log

* feat(security): Pin github actions (#219)

* add a disable_version_manifest accessor (#220)

* add a disable_version_manifest accessor

* allow version manifests to be disabled

* remove an extra blank line to keep rubocop happy

* fix syntax

* project: fix typo preventing overriding version manifest file (#222)

* project: provide a default value for disable_version_manifest (#221)

* cli: rely on the existing use_s3_caching option to enable caching (#223)

* cli: rely on the existing use_s3_caching option to enable caching

* cli: remove now unused populate_s3_cache option

* don't attempt to populate cache when we only have read access

* add a comment to clarify the logic

* feat(bump): Remove homemade workflow to use renovate instead (#224)

* [PathFetcher] Improve speed by removing unnecessary digest operations (#225)

Improves the PathFetcher class' speed by removing some digest operations that are not neccesary, since they are quite costly (10-15s for a large directory like the datadog-agent repository).

Specifically:
- if the target directory (in the omnibus project directories) is empty, force a fetch without computing the digests of the source and the target: in this case, we know a fetch is required.
- after a fetch, do not pre-compute the digest of the target directory. In practice, it is a useless operation because this digest is never reused in the same omnibus run.

I expect these improvements to reduce the duration of all Agent builds by about 30s.

---------

Co-authored-by: Alex Lopez <alex.lopez.zorzano@gmail.com>
Co-authored-by: Hugo Beauzée-Luyssen <hugo.beauzee@datadoghq.com>
Co-authored-by: AliDatadog <125997632+AliDatadog@users.noreply.github.com>
Co-authored-by: Nicolas Schweitzer <nicolas.schweitzer@datadoghq.com>
Co-authored-by: Kylian Serrania <kylian.serrania@datadoghq.com>
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