Nbdev tutorial: GH-Pages build fails: "missing expected setting: description"

Ok, one thing I didn’t do last time was check the box for “Include add branches” when creating the repository.

Should I do that this time?

it doesn’t matter one way or the other

I you get confused, compare the settings.ini and _config.yaml in the fastai/nbdev repo to your files, since that also uses a custom domain.

I believe you will also need a CNAME file as well in the /docs folder (check the repo just as an example)

Oh sorry I guess you aren’t using a custom domain. So just ignore that part!

Yea, dude, I never did ANYTHING special. I just kept exactly to the tutorial. Nothing private, nothing custom.

Should be easy! I’m sure it will work now :slight_smile:

Wow: SUCCESS!! Thank you for your help and your patience with me… :sweat_smile:

So, I think what may have happened previously is that at the point where the tutorial says

You can now check-in the generated files with git add , git commit and git push

I made a user error :flushed: in which one or more files didn’t get added.

To help users remember everything that needs to be included, what if I sent in a PR with a new Makefile target, something like…

git_update: {lib_name} docs
	git add *.ipynb settings.ini README.md {lib_name} docs
	git commit
	git push

…what do you think?

1 Like

OR git add -A; git commit -m'check in files'; git push

2 Likes

Ok! Great. And/or… just in case editing the Makefile is too…“much”, I think I’ll also submit a PR with a brief (1-3 line) addition to the Tutorial to clarify what files users should add.

There’s a documentation error preventing me from learning how to do an nbdev PR in order to update the tutorial notebook:

In CONTRIBUTING.md it says:

If your PR involves jupyter notebooks (.ipynb) you must instrument your git to nbstripout the notebooks, as explained here.

…but when you click “here” that # - target in the URL does not resolve anywhere on the page, the page has nothing to say about stripping notebooks, the term “nbstripout” does not appear – even the word “strip” is missing. Using the Google Search at the top for “strip” or “nbstripout” produces no results.

Also running a grep for “nbstrip” in the nbdev distro produces only the CONTRIBUTING.md page:

~/github/nbdev$ grep -r nbstrip *
CONTRIBUTING.md:* If your PR involves jupyter notebooks (`.ipynb`) you must instrument your git to `nbstripout` the notebooks, as explained [here](https://docs.fast.ai/dev/develop.html#stripping-out-jupyter-notebooks).
~/github/nbdev$ 

…What now?

Resolved. I hit up Zach on Discord, and he said
"nbdev_clean_nbs should be enough"

"
Edit notebook -> build library if there are any library changes -> clean notebook -> submit PR with changes

In regards to commands that’s something like: Edit notebook nbdev_build_lib nbdev_clean_nbs Submit pr
"

Submitted PR for CONTRIBUTING.md first. Will work on tutorial next…

…and tutorial changes is now automatically part of the PR.

2 Likes

I believe you will also need a CNAME file as well in the /docs folder (check the repo just as an example)