loopbackio / loopbackio/loopback-next

Migrate connector repos into monorepo

オープン
#7,368 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

Internal Tooling
主要言語
TypeScript
スター
5.1k
フォーク
1.1k
平均マージ
2日 21時間
マージ済み PR(30日)
27

説明

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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、一覧に記載された connector リポジトリと既存の CI ワークフローを確認し、その後、issue に記載された移行上の懸念事項を、commit 履歴とテスト環境を含めて評価します。完了条件は、connector の一覧、CI 統合、および記載されたリスクに対応する実現可能性の判断と移行計画を作成することです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
github-actions, typescript
領域
build-system, devops
issue の種類
リファクタリング
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。