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

Setup deployment #30

Open
dolsysmith opened this issue Jul 6, 2023 · 4 comments
Open

Setup deployment #30

dolsysmith opened this issue Jul 6, 2023 · 4 comments

Comments

@dolsysmith
Copy link
Collaborator

With GitHub Actions, we can:

  • Trigger a Sphinx/JupyterBook build of the contents of textbook
  • Use Jekyll to build and deploy Parsons Problems

These workflows should be triggered on push to main?

@dolsysmith
Copy link
Collaborator Author

dolsysmith commented Jul 6, 2023

GH Actions Workflow:

  1. Create the Parsons Problems with parsons_builder.py.
  2. Create the book HTML using jupyter-book build (as in this example).
  3. Run the postprocessing script.
  4. Deploy the _build folder (following the deploy job in the above workflow.

@dolsysmith
Copy link
Collaborator Author

dolsysmith commented Jul 12, 2023

Write a postprocessing script to run on the notebook JSON after running jupyterbook build. This script should target the notebooks in the textbook/_build/_sources directory, not the textbook/notebooks directory!

Postprocessing

  • Remove MyST directives from markdown cells. Such directives are prefixed by four backticks, but these cause problems in the classic notebook interface (i.e., on JupyterHub) if the cells also contain backticks to isolate code blocks. The postprocessing script should simple remove any lines of source that begin with four backticks.
  • For the {image} directive, replace the block with a standard notebook inline image cell, using the URL following the directive.
  • Remove any cells tagged as instructor. These should be tagged also as remove-cell to exclude them from the rendered book. But we want to remove the cells from the student version of the notebooks, too.

@dolsysmith
Copy link
Collaborator Author

dolsysmith commented Jul 17, 2023

Add to publish.sh steps:

  • Copy homework and autograder to the appropriate submodule directories in homework-modeuls
  • Trigger commits to submodule repos

  • GitHub Actions: replicate steps in publish.sh

@dolsysmith dolsysmith added this to the Research Leave Summer 2023 milestone Aug 9, 2023
@dolsysmith
Copy link
Collaborator Author

  • Dockerize repo in order to execute in GH Actions runner more efficiently.
  • GH Actions script to build & publish on push to main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant