Skip to content

Make datadog-ci suitable for parallel executions (esp. under Windows) #1793

@rdesgroppes

Description

@rdesgroppes

datadog-agent turns out to run several datadog-ci junit upload commands in parallel, which sometimes leads to spurious errors, like:

  1. Error: EPERM: operation not permitted, lstat '\\?\C:\Users\ContainerAdministrator\AppData\Local\Temp\pkg-QunqPu\f6db2f7790c415a4726371e606fb3a9b4677c1226d9dfb63fd4798b687ee1579' (example)
  2. Internal Error: warning: unable to access 'C:/Users/ContainerAdministrator/.gitconfig': Permission denied (example)

In order to address these limitations, could we:

  1. use a dedicated temporary directory per process so as to avoid conflicting deletions at process termination time?
  2. avoid mutating $HOME/.gitconfig unless strictly necessary? For instance here:

Meanwhile, following workarounds had to be put in place: (and backported to earlier release branches)

  1. Alleviate temporary file conflicts in JUnit uploads datadog-agent#39544
  2. Extend JUnit upload isolation to $HOME/.gitconfig datadog-agent#39524

Further references:

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions