Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

New Website: New Pipeline [3/3] #15883

Merged
merged 93 commits into from
Sep 20, 2019

Conversation

ThomasDelteil
Copy link
Contributor

@ThomasDelteil ThomasDelteil commented Aug 14, 2019

Website available here: https://mxnet-beta.staged.apache.org/

Once merged:

Description

Instructions on using these updates are on the wiki: https://cwiki.apache.org/confluence/display/MXNET/Building+the+New+Website

Break out each docs package generation to separate pipelines.
✅Python - porting the mx-theme to be local to the repo to facilitate modification as part of this project's PRs; this is from the "beta site"
✅R - using the same theme as Python; also from the "beta site"; found to be not reproducible or current, so disabled for now.
✅C/CPP - currently co-mingled Doxygen microsite output
✅Julia - julia docs output to microsite
✅Scala - scaladocs output to microsite
✅Java - javadocs output to microsite
✅Clojure - lein output to microsite
✅Jekyll website for main pages

Legend:
✅Artifacts generating in CI
❌WIP

Jenkins Updates

  • New docs folder pipelines to generate artifacts for each docs package - also has an MXNet binary build pipeline that can be used to share the latest binary as an archived artifact.
  • Publish job - takes artifacts from the docs pipelines, collates the website and publishes it to incubator-mxnet-site.
    • using the last successful build URLs for each pipeline assures that the website gets published even if one docs package is failing
  • Dockerfile updates - to speed up testing, each docs package has a custom dockerfile that only installs dependencies required for that specific package rather than installing everything (as is done now).
  • New Python and R sites use Conda, so miniconda Python deps are installed with conda now.
  • New support for Jekyll: Docker container and related runtime functions

Preview

The publishing job uses CI artifacts generated from my fork of mxnet and pushes to my fork of mxnet-site, and you can see the output on a dev server here:
http://54.211.76.74/

TODO when this PR is approved

  • Add notifications for when docs package builds fail.
  • Convert test pipelines to production website deployment flows.
  • Upload old version artifacts.
  • New PR triggering of a website test
  • Switch to GPU builds for the Python docs, so the outputs are in the tutorials

Comments

  • Stash operations vs. archiving - recommendations in the docs suggest that large artifacts should be archived; stash is super slow; archived artifacts seems to be faster and can be used between pipelines. This is helpful for the MXNet binary and for the Scala package, both of which are used by various other docs packages. However, there's an implication with the master server. Archived artifacts are stored there, so if the pipeline is related to PR validation, this would be unwieldy. If related to publishing final artifacts for specific versions, well, that's probably ok.
  • It seems that efficiency in development and testing can be gained by checkpointing the docker containers after the dependencies are installed.
  • A version/branch parameter would be useful for the Jenkins pipelines for generating docs artifacts from different branches.
  • Publishing scripts seem to need a security refactor, or we don't bother offering stand-alone access to them; running local versus on Jenkins.
  • A bug bash is needed on the new Python docs - I turned off "warnings as errors" just so I could get this thing working, but that needs to be turned back on.

ThomasDelteil and others added 4 commits August 13, 2019 16:50
Co-authored-by: Thomas Delteil <[email protected]>
Co-authored-by: Aaron Markham <[email protected]>
Co-authored-by: Thomas Delteil <[email protected]>
Co-authored-by: Aaron Markham <[email protected]>
Co-authored-by: Aaron Markham <[email protected]>
Co-authored-by: Thomas Delteil <[email protected]>
Co-authored-by: Thomas Delteil <[email protected]>
Co-authored-by: Aaron Markham <[email protected]>
@ThomasDelteil ThomasDelteil changed the title [WIP] New Website Full PR [3/3] [WIP] New Website: New Pipeline [3/3] Aug 14, 2019
@aaronmarkham aaronmarkham changed the title [WIP] New Website: New Pipeline [3/3] New Website: New Pipeline [3/3] Sep 18, 2019


build_version_doc() {

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ThomasDelteil#6 (comment) this comment is not incorporated here. Is this still being used ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not it is not, deleting



build_docs_setup() {
build_folder="docs/_build"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will you be adding this : ThomasDelteil#6 (comment)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually this is called from other functions, does not require the set -ex

Copy link
Contributor

@aaronmarkham aaronmarkham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SHIP IT! Assuming it passes CI of course! 📿 🙏

@ThomasDelteil
Copy link
Contributor Author

CI passing, merging. If any issue ping @ThomasDelteil, @aaronmarkham, @sad-

@QueensGambit
Copy link
Contributor

QueensGambit commented Sep 21, 2019

@ThomasDelteil, @aaronmarkham, @sad-

There a few dead links or missing files for the MXNet C++ package:

Install the MXNet Package for C++ (also missing in contents (quick links))
404 Not Found

The requested URL was not found on this server.

C/C++ Guide ›

Index of /api/cpp

@aaronmarkham
Copy link
Contributor

@ThomasDelteil, @aaronmarkham, @sad-

There a few dead links or missing files for the MXNet C++ package:

Install the MXNet Package for C++ (also missing in contents (quick links))
404 Not Found

The requested URL was not found on this server.

C/C++ Guide ›

Index of /api/cpp

@QueensGambit Thanks for the feedback. Can you create separate issues for anything you find, so others can pick them up and work on them?

drivanov pushed a commit to drivanov/incubator-mxnet that referenced this pull request Sep 26, 2019
Merging new website pipelines and fix to content
larroy pushed a commit to larroy/mxnet that referenced this pull request Sep 28, 2019
Merging new website pipelines and fix to content
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants