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

Proposal: Abandon or change the way we use greenkeeper

Aperta
#1,291 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
question
Lingua principale
JavaScript
Stelle
120
Fork
75
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

# 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.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia esaminando la configurazione di Greenkeeper e il workflow di yarn.lock del repository, insieme al comportamento delle dipendenze di ember-cli descritto qui. Determina se Greenkeeper può ignorare i pacchetti rilevanti o se il progetto dovrebbe abbandonarlo; il lavoro è completo quando sono stati concordati un approccio e la relativa configurazione per gli aggiornamenti delle dipendenze.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
tooling
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.