zdelrosario / data-science-curriculum

https://zdelrosario.github.io/data-science-curriculum/index.html
Creative Commons Attribution Share Alike 4.0 International
24 stars 18 forks source link

Installation instructions #26

Open pschloss opened 3 years ago

pschloss commented 3 years ago

I would remove the $ prompt from before make in the README.md. A learner may make the mistake of entering "$ make" after the prompt. Actually, I wonder if I'm supposed to run make main to build the materials and then make challenges to build the challenge problems. The latter gave me an error...

$ make challenges
cd ../data-science-challenges/challenges; make
/bin/sh: line 0: cd: ../data-science-challenges/challenges: No such file or directory
cd exercises; make
make[2]: Nothing to be done for `all'.
./prepend.py
cp -rf exercises/images exercises_sequenced/.
cp -rf exercises/data/tiny.csv exercises_sequenced/data/.
cp -f ../data-science-challenges/challenges/*-assignment.Rmd challenges/.
cp: ../data-science-challenges/challenges/*-assignment.Rmd: No such file or directory

Is requiring learners to build the sequenced exercises and challenges even necessary? I can't imagine the files are that big that you couldn't include them in the repository. Requiring the learners to run make assumes a level of sophistication that many might not be capable of and could limit Windows users who do not have the linux subsystem installed and possibly Mac users that don't have xcode command line tools installed. It also requires learners to have python installed. Instructions are provided for these steps, but I feel that it's unnecessary for someone who is trying to get started with RStudio.

firasm commented 3 years ago

Adding my comments to this issue so the reviewer feedback about this is consolidated in one place:

Installation Instructions

zdelrosario commented 3 years ago

I agree that this is a weak point of the materials. I am very interested in using a GitHub Action to automate the build of the exercises from source; however, I've tried using a similar implementation on a separate repo in the past, and have found it difficult to avoid introducing irritating merge conflicts. @firasm , can you point me towards any example workflows (like what you're describing) that build, commit, and push files with a GitHub Action?

firasm commented 3 years ago

Certainly @zdelrosario, here's an example that builds a jupyterbook and then pushes the HTML to my server (handled using GitHub Organization Secrets). Here's the resulting website.

I think the trick to avoid merge conflicts is to clone the repo with the GH action. Here's the action I rely on.

Another option is to have two repos, one with the source (instructor version), and one with the build materials (public/user) version. If you go that route, this action is useful. This takes files from an repo, clones another repo locally (in the GH worker), adds the new files, and pushes it up.

Good luck!

zdelrosario commented 2 years ago

@pschloss and @firasm this took a while to figure out, but I believe I've implemented a solution: I've set up one GitHub actions to auto-build a book to serve as an easily-viewed solution manual, and another action to auto-run the make utilities and create a derived build branch. This obviates the need for a user to run make locally, making the content far more accessible to a novice user. I've updated the readme to match the new instructions; a user now need only download and unzip an archive.