Convert drivers-evergreen-tools to a git submodule and pin the GitHub Actions reference

XMLWordPrintableJSON

    • None
    • Python Drivers
    • None
    • None
    • None
    • None
    • None
    • None

      Context

      drivers-evergreen-tools is consumed three inconsistent ways: configure-env.sh clones it fresh into a sibling directory on every Evergreen run, create-spec-pr.sh assumes that same sibling clone exists, and local dev setup asks contributors to clone it manually and export DRIVERS_TOOLS themselves. The GitHub Actions workflow also references mongodb-labs/drivers-evergreen-tools@master, an unpinned ref that semgrep already flags.

      A pinned submodule removes all of this: contributors no longer need to set DRIVERS_TOOLS by hand, CI stops re-cloning an unbounded upstream repo on every run, and an unpinned @master reference can no longer break our build the moment drivers-evergreen-tools cuts a new release.

      Definition of done


      * drivers-evergreen-tools is a git submodule of the repo, initialized by just install.
      * configure-env.sh and create-spec-pr.sh use the submodule checkout instead of cloning a sibling directory.
      * Local dev instructions no longer tell contributors to clone drivers-evergreen-tools by hand.
      * The GitHub Actions workflow pins mongodb-labs/drivers-evergreen-tools to a commit SHA with a version comment instead of @master.
      * CONTRIBUTING.md documents how to point the submodule at a different commit for an Evergreen patch, and how to point it at a local checkout instead.

      Pitfalls


      * The pinned SHA and version comment must match a real tag so dependabot can update it properly.

            Assignee:
            Unassigned
            Reporter:
            Steve Silvester
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: