-
Type: Task
-
Resolution: Unresolved
-
Priority: Unknown
-
None
-
Affects Version/s: None
-
Component/s: CI
Use Case
As a nodejs mongodb engineer
I want to migrate our repositories to one repository
So that integrated testing is always in sync across code bases and tooling is consistent
Unknowns
- How long will it take to restructure CI to account for the change in file paths?
- Is there downstream projects that will be directly impacted by this change?
- The docs code examples will be moved, consider some tooling to assist with this?
Acceptance Criteria
Kick-off
- Divide the following work into subtasks (ex. per package)
Implementation Requirements
- Create a new repository. suggestion: "dbx-nodejs"
- Use git subtree add to incorporate the history from each repository
- driver
- bson
- csfle
- Move the FLE bindings out of the subdirectory to the root of the subfolder in this new repo (ex. packages/csfle/package.json)
- Enhance build-static.sh to clone libmongocrypt in order to compile the bindings
- kerberos
- connection-string
- zstd
- Initialize a lerna project
- Replace each interdependent version requirement in package.json with "*"
- ex. in driver "bson": "*"
- Replace each interdependent version requirement in package.json with "*"
- Ensure each package has a build, test and lint npm script
- Ensure npx lerna run of each of these scripts run successfully
Testing Requirements
- Combine .evergreen.yml files from each package into one configuration
- Strip shared tasks from libmongocrypt that no longer apply
Documentation Requirements
- Create a page detailing the migration, where to find source, etc.