Skip to content

locking documentation dependencies #51

@edublancas

Description

@edublancas

Often our documentation breaks due to a change in a dependency; which causes all PRs to stall.

A better solution would be to pin all versions of the packages used and then install those versions:

# setup environment
pkgmt setup --doc

# generate a file with pinned version
conda env export --no-build --name ENV_NAME 

Note that we need to edit edit doc/environment.lock.yml and change the package (e.g., jupysql==0.7.0dev) for -e ...

Then, we update the .readthedocs.yml file to use such lock file.

Since it's essential to check that new package versions work, we can run this process in a cron job (e.g., every 2 weeks), so it re-generates the environment with the latest versions and opens a PR. If all goes well, we can merge it, otherwise, we can investigate and fix it without stalling PRs.

An important consideration is that conda env export does not generate cross-platform files, so we must ensure that we generate this file from a Linux machine, since that's what readthedocs uses.

example: ploomber/jupysql#345 (note that this hasn't been fully automated, I did everything manually)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions