loopbackio / loopbackio/loopback-next

Migrate connector repos into monorepo

Đang mở
#7,368 6 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Internal Tooling
Ngôn ngữ chính
TypeScript
Star
5.1k
Fork
1.1k
Merge trung bình
2 ngày 21 giờ
Pull request đã merge (30 ngày)
27

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu bằng cách xem xét các repository connector được liệt kê và các workflow CI hiện có của chúng, sau đó đánh giá các mối quan ngại về migration được mô tả trong issue, bao gồm lịch sử commit và các môi trường kiểm thử. Công việc được xem là hoàn tất khi đã đưa ra quyết định về tính khả thi và kế hoạch migration giải quyết danh sách connector, việc tích hợp CI và các rủi ro đã nêu.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
github-actions, typescript
Lĩnh vực
build-system, devops
Loại issue
Tái cấu trúc
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.