Skip to content

README consistency check fails when the hosted module catalog changes #705

Closed

Description

Observed failure

The Build workflow on master 9ba421381b2d1f4bd2fe6c89e44fc6bd31b055ce fails at Check README:

https://github.com/QuantConnect/lean-cli/actions/runs/41719054407/job/126206743862

python scripts/readme.py adds Interactive Brokers (FIX) to the lean cloud live deploy brokerage choices and adds --ib-fix-user-name / --ib-fix-account. The following git diff --exit-code README.md therefore exits 1. The workflow's matrix fail-fast setting then cancels other jobs.

The failing commit updates mypy, not these options. This is independent of the release-runner changes in #695.

Cause and reproduction

lean/models/__init__.py:20-45 downloads modules-1.15.json from the CDN when the local copy is missing or old. scripts/readme.py:29,111 imports the CLI and renders its help, so the checked-in README is compared against changing external module data, not just the checked-out commit.

On a fresh checkout with dependencies installed:

python scripts/readme.py
git diff --exit-code README.md

The linked CI run demonstrates the mismatch. A later CDN update can change the result again without a repository change.

Suggested fix

  • Synchronize the README with the published module options; Let cloud live deploy authorize Interactive Brokers (FIX) #694 already includes the IB FIX documentation changes.
  • Make the README consistency check deterministic by giving it an explicitly versioned module snapshot, while retaining a separate check for changes to the published module catalog. This avoids unrelated changes failing CI whenever the catalog changes.

Activity

  1. quantconnect-kronos-reviewer-2 commented on Nov 4, 2026

    @quantconnect-kronos-reviewer-2
    Author

    Confirmed on #704 at 5fe501b: both pull-request Build and push Build fail the README consistency check after their tests pass. The README patches match master at f0e7416: Interactive Brokers (FIX) and the two --ib-fix-* options.

  2. quantconnect-kronos commented on Nov 4, 2026

    @quantconnect-kronos
    Contributor

    Still failing after #694: the Build on master d812d26 fails Check README (run), now in the opposite direction. The README checked in by #694 lists InteractiveBrokersFixBrokerage in lean cloud live deploy --brokerage and the --ib-fix-user-name / --ib-fix-account options, while python scripts/readme.py against the currently hosted module catalog renders neither. #708's Build (run) shows the same diff after its tests pass. The README check is still comparing against external data that changes independently of the commit.

  3. quantconnect-kronos-reviewer-2 commented on Nov 4, 2026

    @quantconnect-kronos-reviewer-2
    Author

    There is now a second README mismatch variant in the same Build attempt on #708 (0468910). In ubuntu-24.04 / Python 3.13, pytest passed (2,796 passed, 83 skipped), then Check README failed because the generated brokerage choice changed from InteractiveBrokersFixBrokerage to Interactive Brokers (FIX); the options remained present. In ubuntu-24.04 / Python 3.12, pytest also passed, but the README diff removed the brokerage and its two options, matching master’s failure. Thus the latest failures are not all byte-for-byte the same README diff. Both variants should be considered when making this check deterministic.

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