[CDRIVER-4641] Create a managed environment for Python tooling Created: 12/May/23  Updated: 03/Nov/23  Resolved: 26/May/23

Status: Closed
Project: C Driver
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Unknown
Reporter: Colby Pike Assignee: Colby Pike
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: CDRIVER-4546
Quarter: FY24Q2

 Description   

We use Sphinx to generate our documentation pages, as well as various internal/external  Python tools to generate our EVG config. Our current Python env setup process is very flimsy and unstable. Adopting a Python dependency management tool for these aspects of the build will help ensure predictable behavior on dev, CI, and end-user systems.



 Comments   
Comment by Githook User [ 03/Nov/23 ]

Author:

{'name': 'vector-of-bool', 'email': 'vectorofbool@gmail.com', 'username': 'vector-of-bool'}

Message: CDRIVER-4641: A Poetry project file (#1276)

  • A basic Poetry project for managing dev scripts and tools
    Fixup several other scripts to be set -u safe since we now import that
    setting.
  • Use Poetry to run Sphinx
  • Change variant used for release archive
    The release archive build invokes Sphinx, and since Sphinx is now installed by
    Poetry, we require a newer Python version. make-release-archive now runs
    on Ubuntu 22.04
  • abi-compliance-check needs u18
    The abi-compliance-check task assumes an external `abi-compliance-checker`
    tool is installed, but that is only true on the Ubuntu 18.04 EVG
    distros.
  • Significant script refactoring:
  • Split components into separate files, and provide a way to selectively
    import them from other scripts.
  • Download install-poetry.py on-the-fly when it is needed, not committed
    into the repository.
  • Add a download-file utility.
  • python.sh/poetry.sh are importable to be reused in other scripts.
Comment by Githook User [ 26/May/23 ]

Author:

{'name': 'vector-of-bool', 'email': 'vectorofbool@gmail.com', 'username': 'vector-of-bool'}

Message: CDRIVER-4641: A Poetry project file (#1276)

  • A basic Poetry project for managing dev scripts and tools
    Fixup several other scripts to be set -u safe since we now import that
    setting.
  • Use Poetry to run Sphinx
  • Change variant used for release archive
    The release archive build invokes Sphinx, and since Sphinx is now installed by
    Poetry, we require a newer Python version. make-release-archive now runs
    on Ubuntu 22.04
  • abi-compliance-check needs u18
    The abi-compliance-check task assumes an external `abi-compliance-checker`
    tool is installed, but that is only true on the Ubuntu 18.04 EVG
    distros.
  • Significant script refactoring:
  • Split components into separate files, and provide a way to selectively
    import them from other scripts.
  • Download install-poetry.py on-the-fly when it is needed, not committed
    into the repository.
  • Add a download-file utility.
  • python.sh/poetry.sh are importable to be reused in other scripts.
Generated at Wed Feb 07 21:21:30 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.