Skip to content

[BUG] Build workflows are not using locked/pinned dependencies #1230

@bkeryan

Description

@bkeryan

Bug Report

This project's build workflows sometimes break when new versions of Python package dependencies are released.

python_build_requirements.txt pins some dependencies, but it uses the latest mypy and recent ni-python-styleguide, and it doesn't necessarily lock all indirect dependencies:

contextlib2==21.6.0
Mako==1.2.2
MarkupSafe==2.0.1
schema==0.7.4
black==23.3.0
mypy>=0.910
ni-python-styleguide~=0.1
pycodestyle==2.7.0
importlib-metadata==4.12.0

examples/pyproject.toml has a poetry.lock file checked into Git, which is good, but source/codegen/validate_examples.py runs "poetry lock", which defeats the purpose of having a lock file (which is to control when dependencies are updated).

Repro or Code Sample

#1228

Expected Behavior

Build workflows use known, working dependency version.

Current Behavior

The build workflows failed for this PR because the new version of mypy-protobuf (version 3.7.0) dropped support for protobuf v4, but the examples project still uses grpcio-tools 1.49.1, which requires protobuf >=4.0,<5.0.

Possible Solution

Context

Updated Python dependencies broke a PR that was unrelated to Python

Your Environment

N/A

AB#3618400

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions