Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-6104

Move CI logic out of evergreen config yml and into bash scripts

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: Evergreen
    • Labels:
    • v5.x

      Use Case

      As a driver engineer,
      I want our CI setup scripts to be easy to run locally,
      So that I can easily debug CI failures and set up special environment testing locally.

       

      The goal of this work is to streamline local environment setup and the running of tests.  For example, a hypothetical workflow which runs our serverless tests locally:

      bash .evergreen/setup-serverless-environment.sh
      // repeat as many times as needed
      bash .evergreen/run-serverless-tests.sh
      bash .evergreen/teardown-serverless-environment.sh
      

      User Impact

      • n/a

      Dependencies

      • n/a

      Unknowns

      • n/a

      Acceptance Criteria

      Implementation Requirements

      1. Audit the evergreen config to identify tasks which perform environment setup by calling multiple evergreen functions and identify which functions are shared.
      2. Move the logic contained in the shared evergreen functions into standalone bash scripts / bash functions.
      3. Add tooling that replaces the setup tasks identified in step 1) with bash scripts / bash functions.
      4. Ensure all tests pass and scripts can be run locally.

      Testing Requirements

      • All tests pass.

      Documentation Requirements

      • This work will replace the need for the "special environments" section of our testing readme. Update the readme with instructions to run the setup / teardown scripts we use in CI when running special environment tests locally.

      Follow Up Requirements

      • n/a

            Assignee:
            Unassigned Unassigned
            Reporter:
            bailey.pearson@mongodb.com Bailey Pearson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: