Skip to content

locking documentation dependencies #51

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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