loopbackio / loopbackio/loopback-next
Migrate connector repos into monorepo
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 5.1k
- Fork
- 1.1k
- Merge medio
- 2g 21h
- PR unite (30g)
- 27
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia esaminando i repository dei connector elencati e i relativi workflow CI esistenti, quindi valuta le problematiche di migrazione descritte nell’issue, inclusi la cronologia dei commit e gli ambienti di test. Il lavoro è completo quando sono stati prodotti una decisione di fattibilità e un piano di migrazione che affrontino l’elenco dei connector, l’integrazione CI e i rischi indicati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- github-actions, typescript
- Ambito
- build-system, devops
- Tipo di issue
- Refactoring
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100