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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions