Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discussion: use_github() #110

Closed
nevrome opened this issue Jan 31, 2020 · 5 comments
Closed

Discussion: use_github() #110

nevrome opened this issue Jan 31, 2020 · 5 comments

Comments

@nevrome
Copy link
Collaborator

nevrome commented Jan 31, 2020

Hey @benmarwick,

as you know I gave another course on rrtools yesterday. Here is an observation I wanted to discuss with you:

Although my session was preceded by two (!) sessions on Git and Github we had tremendous problems with the Github setup workflow. For a number of people everything worked fine and as intended, but others (e.g. @ivelsko) got entangled in an email address configuration mess. Pretty much everybody saw this failed initial push error and some participants had difficulties solving it on the command line. I believe I lost some people here in terms of motivation. I remember that we had similar issues at the SAA workshop, but with 3-4 people to assist on the fly it was more easy to fix them quickly.

As rrtools is not just a package, but also a workflow, I suggest to tweak it in this regard: Setting up the Github repository from the R console is a nice idea, but ultimately makes things a lot more complicated (config issues, need for a PAT, etc.) and also doesn't really make sense if we want people to use the Github interface in the end. @TCLamnidis actually confronted me with the question, why we went all this way, when we already learned to create and clone a repo with the Github interface in the previous session.

Maybe a better way to solve this would be to add an option to use_compendium() to populate an already established repo cloned from Github. The default workflow would therefore start on Github and continue in RStudio.

IMHO use_github() could be cut out of the workflow completely. This would also affect #91/#109.

@nevrome nevrome changed the title Diskussion: use_github() Discussion: use_github() Jan 31, 2020
@benmarwick
Copy link
Owner

I completely understand what you mean. I've had that experience you describe many times: the Git and GitHub step is always a struggle with errors. I welcome a revision of our step three that is "GitHub first" (cf. https://happygitwithr.com/new-github-first.html) rather than using usethis as we currently do. Perhaps we can outsource some of the instructions to that book?

@nevrome
Copy link
Collaborator Author

nevrome commented Feb 2, 2020

Excellent - I can prepare a PR to edit the README next week.

@ntrlshrp You invested a lot of time into this use_gitlab() function. What do you think about this discussion?

@ntrlshrp
Copy link

ntrlshrp commented Feb 4, 2020

@nevrome , thanks for inviting my participation here (especially as I had forgotten about the Dec 31 PR discussion). You and @benmarwick have much more experience than I do in the rrtools workflow, package, etc., so my initial thoughts are worth a grain of salt. Bottom line, of course, is that the system with the greatest adoption of a reliably reproducible research workflow is best.

Q1: How many rrtools packages/papers do you expect the rrtools convert to create per year? It seems that asking someone to do "step (web-based) GitHub/Lab/etc." once per project and "step RStudio" once per project adds periodic (small) inefficiencies/hassles relative to "step (web-based) GitHub/Lab/etc." once only with initial hassles up front. These periodic inefficiencies/hassles/barriers may be mild for 1-2 packages per year but annoying for ~10 (and never noticed during a rrtools course). Nonetheless, it may turn out that rrtools acquires more converts in the first place with a "step (web-based) GitHub/Lab/etc" for each project/paper.

Q2: If an rrtools convert started a GitLab project, is there still interest in the gitlab-ci.yml template file from my fork as part of rrtools package to help this subset of converts jump straight to reproducible research? (This could also apply to GitHub to TravisCI integration.)


Pros of new workflow:

  • reduces code maintenance burden
  • avoids using a PAT
  • avoids using git on CLI
  • foists project/paper setup costs onto third parties (GitHub/Lab/etc.) with greater resources to reduce barriers
  • Other?

Cons:

  • asks user to use two tools/apps each time they want to start a new project/paper, one of which is web-based and the other local, i.e., visit GitHub/Lab/etc. and then RStudio, when they might do it all from RStudio
  • puts some previously written code into dustbin? (this should be a false "con" as this represents "sunk costs")
  • Other?

@nevrome
Copy link
Collaborator Author

nevrome commented Feb 7, 2020

Thank you for this breakdown @ntrlshrp! I think the advantages strongly outweigh the disadvantages. I create more than 10 repos every year and I still do it from github. Takes literally 30 seconds.

So I believe the decision is clear. I'll provide a PR with some suggestions.

The gitlab-ci.yml is a valuable addition to rrtools and I think we should keep it. I also suggest you, @ntrlshrp, could try to get the code into usethis (sunken costs).

@nevrome
Copy link
Collaborator Author

nevrome commented Mar 19, 2020

#113

@nevrome nevrome closed this as completed Mar 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants