lzim / teampsd

Team PSD is using GitHub, R and RMarkdown as part of our free and open science workflow.
GNU General Public License v3.0
9 stars 23 forks source link

wk2: lzim/teampsd Repo Design #1436

Closed lijenn closed 3 years ago

lijenn commented 4 years ago

Hypothesis/Purpose Questions: (see 1st comment below for proposals)


What environment variables and folder structure will we use? Proposed Environment Variables & Folders

  1. readme.md - will be main page you see on the repo explaining what the repo has and how they work
  2. .gitignore - for temp files you want to ignore
  3. license.md - outlines what can and cannot be done with our code (there are different license templates on GitHub that help you figure out what kind you want)
  4. code-of-conduct.md - similar to what James created for the lzim/mtl repo CoC under wiki (outlines how interaction should be conducted i.e. no trolling etc.)
  5. fonts folder - for teampsd look and feel
  6. css folder - for teampsd colors
  7. images folder- for teampsd logos
  8. .yml config file - sets parameters and initial settings in environment for running an app
  9. docs folder - explains how actions work?
  10. tests folder - folder of test scripts within the scripts folder
  11. scripts folder - tools
  12. packages folder - multiple tools brought together (scripts build the package)
  13. vignettes - as a subset nested under packages
  14. .github folder - configure issue and pull request templates. have example of “good first issue”
  15. .workflow folder - needed for GH actions
  16. secrets - encrypted environment variables using a libsodium sealed box to that it is encrypted before reaching GitHub - note for a repository secret, only the repository owner can create this
  17. gh-pages branch - GH Actions for Bookdown Manuals
  18. api
  19. web - probably only for mtl.how repo
staceypark commented 4 years ago

@lijenn @staceypark are proposing the below. @lzim @anthonycpichardo @branscombj @dlkibbe @dlounsbu @jamesmrollins

Hypotheses

  1. TeamPSD repo should focus on TeamPSD workflow and helping individual members understand how to work effectively
  2. Easier to "google" in the Bookdown search function than to try to learn how the repo structure works. There will also be a chapter structure for those that want to follow that.

Assumptions

  1. Everything on lzim/teampsd is essentially a resource for all teampsd or a specific workgroup. All other stuff can be sent to other repos (see proposal below).
  2. Learners won't randomly change branches on lzim/mtl so having works-in-progress items on other branches shouldn't be a problem (see proposal below for why this is relevant).
  3. Not everyone will be updating or creating resources. Only those who are will need to learn how to do it. That process will use the pull request processes we already know how to do but with the end point being the gh-pages branch instead of the master. (so nothing really "new" there).

Proposal

Everything on lzim/teampsd repo will be in the Bookdown and whatever doesn't apply would be in a different repo.

  1. Any quant code should be moved to one of the four quant repos.
  2. Anything that's on the lzim/mtl repo already will not have a duplicate in the lzim/teampsd repo. Instead, we are proposing we have a "works-in-progress" branch on the lzim/mtl repo (#1422). Whenever we are ready for release, we would just merge that branch with the master.
  3. We will have 2 main standing branches on the lzim/teampsd repo (apart from ones people are using to work on):
    • master: Explains how to get to the bookdown link, what can be found there, and how to interact with it.
    • gh-pages: Required by Bookdown for hosting all the Bookdown markdown files. the "backend" for the resources that will be on the Bookdown.

Addresses persona feedback of...

Next steps:

Deciding chapter organization within the Bookdown. See Jane's crosswalk on #1423.

lzim commented 3 years ago

@lijenn Where are we with TeamPSD repo design?

lijenn commented 3 years ago

Overall repo design is completed (i.e readme, automation, branches), automation just needs further testing which can be done via remaining Manual tasks.