loopbackio / loopbackio/loopback-next

Migrate connector repos into monorepo

Abierto
#7,368 6 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Internal Tooling
Lenguaje dominante
TypeScript
Estrellas
5.1k
Forks
1.1k
Merge medio
2 d 21 h
PR fusionados (30 d)
27

Descripción

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

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza revisando los repositorios de conectores enumerados y sus workflows de CI existentes; después, evalúa las cuestiones de migración descritas en el issue, incluido el historial de commits y los entornos de prueba. Se considera terminado cuando se haya producido una decisión de viabilidad y un plan de migración que aborden la lista de conectores, la integración de CI y los riesgos indicados.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
github-actions, typescript
Área
build-system, devops
Tipo de issue
Refactorización
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.