Use subprocess.exec in place of shell.exec in evergreen.yml

XMLWordPrintableJSON

    • Type: Technical Debt
    • Resolution: Unresolved
    • Priority: Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Engines, Storage Engines - Foundations
    • SE Foundations - Q3+ Backlog
    • None

      Per the evergreen docs subprocess.exec is preferred over shell.exec the main reason is that by default it uses bash.

      This is notable as nearly every usage in the evergreen.yml file manually specifies shell: bash. While not just a way to save a some lines of yaml file, a task was missing shell: bash and as a result not correct picking up the prepare test env parameters. The task would not fail but log the following errors, hiding the issue:

      [2025/10/23 12:23:22.984] sh: 16: [[: not found
      [2025/10/23 12:23:22.984] sh: 20: [[: not found
      [2025/10/23 12:23:22.984] sh: 23: [[: not found
      [2025/10/23 12:23:22.984] sh: 26: [[: not found
      

            Assignee:
            [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            Luke Pearson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: