code-corps / code-corps/code-corps-ember

Proposal: Abandon or change the way we use greenkeeper

未關閉
#1,291 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
question
主要語言
JavaScript
星號
120
分支
75
PR 合併指標
30 天內沒有已合併 PR

描述

# Problem

Greenkeeper is creating a huge amount of PRs which, while in most cases, would be useful to keep dependencies up to date, in the case of a project using ember-cli, often cause unnecessary work.

The problem is, ember-cli is a bundle of packages and greenkeeper creates an update PR for each individual package in that bundle. An example is

https://github.com/code-corps/code-corps-ember/pull/1269

We do not want to update ember-source directly. We want to update ember-cli and then, if ember-cli decides we also need to update ember-source as we run `ember init` that's fine. Otherwise, ember-cli is the one telling us which packages it's dependent on. If anything, updating cli dependencies ourselves might cause issues.

In addition to that, greenkeeper is not setup to work with yarn. For each PR it creates we need to
- pull latest develop
- run `git rebase origin/develop`
- run `yarn install` (this modifies `yarn.lock`)
- commit amend the modified file
- run `git push --force-with-lease`
- wait for the build
- review-approve and merge, or force merge

And really, the reasoning is, we want package updates as soon as possible. I don't really see the benefit in it.

I believe, if we opted to use a package, the assumption is, that package was desirable "as is", not in some soon to be updated version. Sure, we want our stuff up to date, but jumping on every minor version as soon as it's out more often than not means we instead get bugs.

# Proposal 1 - Abandon greenkeeper

I believe a more cost-effective flow is:

- keep ember-cli up to date, with its dependencies
- if a non-core cli addon has deprecations after ember-cli is up to date, create an issue for it and keep updating it as now versions come out, until the deprecation is resolved
- for non-cli addons, if we're using them as they are, they're good enough. we periodically can update if there's a benefit, but otherwise, there's no need.

# Proposal 2 - Change the way we use greenkeeper

I'm hoping there is a way to configure greenkeeper to not update specified packages. If we went in that direction, we could make a list of ember-cli packages greenkeeper could then ignore, so we'd sort of get the "best of both worlds".

That being said, I'm not finding anything on the site or in the repository that could enable us to do so.

貢獻指南

開啟貢獻指南

研究方向

首先檢視儲存庫的 Greenkeeper 設定和 yarn.lock 工作流程,以及此處所述的 ember-cli 相依性行為。判斷 Greenkeeper 是否能忽略相關套件,或專案是否應放棄使用它;確定了雙方同意的方法和相應的相依性更新設定後,即表示完成。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
javascript
領域
tooling
Issue 類型
功能
難度
5/5
預估耗時
一週以上
活躍度
停滯
描述清晰度
需要釐清
新手友好度
25/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。