loopbackio / loopbackio/loopback-next

Migrate connector repos into monorepo

Offen
#7,368 6 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Internal Tooling
Vorherrschende Sprache
TypeScript
Sterne
5.1k
Forks
1.1k
Ø Merge
2 T. 21 Std.
Gemergte PRs (30 T.)
27

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Überprüfung der aufgeführten Connector-Repositories und ihrer bestehenden CI-Workflows. Bewerte anschließend die in diesem Issue beschriebenen Migrationsfragen, einschließlich der Commit-Historie und der Testumgebungen. Als abgeschlossen gilt die Erstellung einer Machbarkeitsentscheidung und eines Migrationsplans, die die Connector-Liste, die CI-Integration und die genannten Risiken berücksichtigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
github-actions, typescript
Bereich
build-system, devops
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.