loopbackio / loopbackio/loopback-next
Migrate connector repos into monorepo
- Dominant language
- TypeScript
- Stars
- 5.1k
- Forks
- 1.1k
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 27
Description
This issue is to track the feasibility of migration the connector repos into this monorepo.
**Problem statement**
The connectors are in separate repos, which results in...
1. Inconsistent automated maintenance and CI workflows (i.e. dependency/vuln. management, code/commit linting, CLA/DCO)
2. Disparate issue trackers (harder to keep track of connector-specific issues)
3. Non-integrated CI testing (i.e. integration tests are not executed on changes within the connector repo)
**Potential concerns**
1. **Slower CI build times** - This concern was raised when this repo was utilising Travis CI, which had slow a VM spin-up duration, and rather limited co-current actions. With GitHub Actions, this concern is potentially mitigated.
2. **Maxing out CI minutes** - This was an issue with Travis CI where there was a quota on build times. This is not an issue with GitHub Actions which has unlimited minutes for public repos.
3. **Loss of commit history** - `lerna import --preserve-commit` will preserve the relative commit history, and retain the original commit authors and committers.
4. **Linux-only testing** - GitHub Actions only supports containers/services with `ubuntu-*` images. Currently, the CI pipeline for most connectors are hosted under `cis-jenkins.swg-devops.com`, which isn't currently publicly-accessible AFAIK.
**Connectors**
These are the connectors that are officially maintained:
- [ ] loopback-connector-mysql
- [ ] loopback-connector-postgresql
- [ ] loopback-connector-mongodb
- [ ] loopback-connector-rest
- [ ] loopback-connector-mssql
- [ ] loopback-connector-soap
- [ ] loopback-connector-oracle
- [ ] loopback-connector-cloudant
- [ ] loopback-connector-cassandra
- [ ] loopback-connector-couchdb2
- [ ] loopback-connector-db2
- [ ] loopback-ibmdb
- [ ] loopback-connector-dashdb
- [ ] loopback-connector-grpc
- [ ] loopback-connector-kv-redis
- [ ] loopback-connector-openapi
- [ ] loopback-connector-sqlite3
- [ ] loopback-connector-elastic-search
- [ ] loopback-connector-redis
- [ ] loopback-connector-kv-extreme-scal
- [ ] strong-soap
Contributor guide
Research direction
Start by reviewing the listed connector repositories and their existing CI workflows, then assess the migration concerns described in the issue, including commit history and testing environments. Done means producing a feasibility decision and migration plan that addresses the connector list, CI integration, and the stated risks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, typescript
- Domain
- build-system, devops
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100