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

Make docker env for development, update dependencies [WIP] #795

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

smeyfroi
Copy link

The build instructions in current README fail due to dependency issues on up-to-date MacOS, Ubuntu and Alpine Linux.

This is a WIP attempt to provide an easy-to-install (and cross-platform) docker environment for development work.

To get the dependencies to work, I had to upgrade nikola (which dragged some plugins along with it).

I also had to tweak the call to markdown in the custom documentation plugin; markdown has changed one of its method signatures in the newer version I ended up at here. Which means this PR is not backwards-compat with legacy development environments.

Dependencies are unpinned at the moment, until it's proven to be working correctly.

At first glance it seems to work, but before taking it any further I want feedback in case this is a wrong direction.

The build instructions in current README fail due to dependency issues on up-to-date MacOS, Ubuntu and Alpine Linux.

This is a WIP attempt to provide an easy-to-install (and cross-platform) docker environment for development work.

To get the dependencies to work, I had to upgrade nikola (which dragged some plugins along with it).

Dependencies are unpinned at the moment, until it's proven to be working correctly.

At first glance it seems to work, but before taking it any further I want feedback in case this is a wrong direction.
@smeyfroi smeyfroi marked this pull request as draft May 25, 2022 16:32
@artificiel
Copy link

I'm trying this and my results:

  • ./build_docker.sh works and builds an image

  • ./nikola_auto_build.sh seems to works, last line is INFO: auto: Serving on http://127.0.0.1:8000/ ... however nothing is listening on :8000

  • ./nikola_serve.sh says INFO: serve: Serving on http://0.0.0.0:8000/ ... which does work, and serves the freshly re-built 0.11.2 ofSite (I modified a source .md and the change shows up).

so on the docker side it seems to work!

however, the "documentation" tab is empty (which is the area I'd like to look into)... and also, side-question but: something must be auto-integrating the doxygen from the source? I have a limited understanding of the components involved here so it's not evident where to start looking...!

image

@smeyfroi
Copy link
Author

smeyfroi commented Mar 2, 2024

Oh that's quite promising @artificiel ! I did the smallest thing I could do, without understanding the nicola build system.

It might be interesting to have someone with a little more knowledge chime in at this point? The problem of the broken ofSite dev environment seems like it could possibly be fixed inside a stable docker container...

@ofTheo
Copy link
Member

ofTheo commented Mar 6, 2024

Thanks @smeyfroi !
I'm happy to merge this but might be good to make sure the instructions for running it all are clear.
And do @artificiel 's notes need to be added?

Thanks again!

@smeyfroi
Copy link
Author

smeyfroi commented Mar 6, 2024

Fab, leave it with me a while (life drawing tonight, so maybe weekend)... will clean up and make sure @artificiel comments properly taken into account. I think he had some questions related to the doc build itself: are you able to help with that @ofTheo ?

@smeyfroi
Copy link
Author

Done:

  • bin/build_docker.sh
  • bin/rm_docker.sh
  • (bin/sh_docker.sh for debug)
  • bin/nikola_build.sh (see below)
  • bin/nikola_serve.sh
  • bin/nikola_auto.sh (see below)

To do:

Questions:

  • I've moved the local dev stuff into docker with new scripts in bin, but I haven't looked at how the "official" build is scripted. I'm assuming this work on the local dev environment is entirely orthogonal to the website build.
  • I believe there is more "local dev" stuff that can be deleted now, but I'm unclear what the official build requires. It's all a bit mixed up in the repo (which is why I made a new bin for local dev scripts).

More to come on this PR.

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

Successfully merging this pull request may close these issues.

3 participants