Skip to content

Fix docutils dependencies via source mirror

Alec Xu requested to merge axugl-mirror-docutils into master

What does this MR do?

This MR (temporarily/iteratively) addresses our need to fix Python dependency versions, as we have had production issues due to floating dependencies.

Specifically:

  1. Mirrored and patched Python docutils to have fixed upstream dependencies. This is currently under my personal namespace, and should be moved as soon as convenient.
    1. Gitlab Mirrors:
      1. https://gitlab.com/gitlab-org/build/omnibus-mirror/python-docutils
      2. https://dev.gitlab.org/omnibus-mirror/python-docutils
    2. Github Mirror: https://github.com/docutils
    3. The original is hosted on sourceforge as an svn repository
  2. Installed mirror in lieu of using PyPI
    1. There is a more concise pip install command we can use, but it requires git, which is unavailable in the images that need docutils installed
      1. pip install "docutils @ git+https://gitlab.com/axugl/docutils@0.21.1-frozen#egg=pkg&subdirectory=docutils"

Additional context in Distribution Maintainers Call and #1952 (comment 1929784975).

Related issues

Closes #1952

https://gitlab.com/gitlab-com/gitlab-OKRs/-/work_items/7019 - Long-term solution to Python packaging problem investigated here

!1841 (closed) - An alternate proposal to use pipenv instead

Checklist

See Definition of done.

For anything in this list which will not be completed, please provide a reason in the MR discussion

Required

  • Merge Request Title, and Description are up to date, accurate, and descriptive
  • MR targeting the appropriate branch
  • MR has a green pipeline on GitLab.com
  • When ready for review, MR is labeled "~workflow::ready for review" per the Distribution MR workflow

Expected (please provide an explanation if not completing)

  • Test plan indicating conditions for success has been posted and passes
    1. rst is correctly rendered in Gitlab via helm chart deployment
    2. The corresponding containers have the correct version of docutils installed when checked via shell
  • Documentation created/updated
  • Integration tests added to GitLab QA
  • The impact any change in container size has should be evaluated
  • New dependencies are managed with dependencies.io
Edited by Alec Xu

Merge request reports