Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Merge v7.2.0-alpha.1 into edge #14453

Merged
merged 10 commits into from
Feb 8, 2024
Merged

chore: Merge v7.2.0-alpha.1 into edge #14453

merged 10 commits into from
Feb 8, 2024

Conversation

SyntaxColoring
Copy link
Contributor

Overview

#14442 is currently in the release branch, but not in edge. We should bring it into edge quickly to stop people from corrupting their robots' storage when they're working on an edge-based dev branch.

Test Plan

None needed.

Review requests

None needed here. These changes were all already reviewed in other PRs.

Risk assessment

Low.

sfoster1 and others added 10 commits February 7, 2024 11:19
* chore: verbose pypi deploys to catch errors

* let's push an sdist while we're at it
…al tip movement (#14426)

* added pipette bounds fetch and height check on overlapping slots
---------

Co-authored-by: CaseyBatten <[email protected]>
…le cal (#14411)

* feat(app, components, shared-data): disable incompatible fixture-occupied slots during module cal

closes RQA-2164
* feat(app): add privacy policy acknowledgement screen to new 7.2 bootup on ODD

closes RAUT-818
…nts in FLEX (#14437)

* use prepare_for_mount_movement and add home_if_idle for ot3 gantry position call
This is a PRs to update python dependencies to modern versions. This one stops at the major breaking change point of pydantic 2.0. While Pydantic 2.0 is apparently much much faster (it's written in rust if you can believe it) it also makes a bunch of breaking api changes and in theory provides back-compat patches. Similarly, fastapi 0.100.0 switches internally to depend on pydantic 2, with similarly theoretical back compat patches. So, we've updated to,
Dependency Version Changes

In prod, major deps (full list is essentially entirely in the robot-server pipfile, see below for why):

- fastapi 0.99.0 (from 0.68.1)
- pydantic 1.10.12 (from 1.9.2)
- uvicorn 0.27.0 (from 0.14.0)
- sqlalchemy 1.4.51 (from 1.4.32 - bigger change than you think, and breaking changes above this)

In dev tooling,

- mypy 1.8.0 (from 0.981)
- flake8 7 (from like 3 or something we never updated this)
- mock 5 (from 4)
- decoy 2 (from 1)
- pytest 7.4.4 except robot-server, which is limited by tavern to 7.3 (from various)
- tavern 2.9.1 (from 1.6)

Version Definition Changes

Some people want to use our python libraries that are published on pypi. The problem with this is that our libraries - opentrons and opentrons_shared_data have explicit version pinning in their setup.py install_requires, which makes it incredibly hard for them to coexist with other python packages that aren't comaintained by us (see #11912 , #12839 ). One way to fix this would be version ranges in the setup.py and explicit versions (that are contained within those ranges, and that match or define what's present on the robot) in the pipfiles. We couldn't do this because pipenv had problems with it.

Now, however, we've upgraded pipenv, and that strategy works! And since I was going around bumping all the deps anyway, I could figure out what the actual functional dependency version boundaries were. So as part of this, opentrons (api/setup.py) and opentrons_shared_data (shared-data/python/setup.py) now have version ranges for all of their install_requires that aren't other opentrons packages, and I'm pretty sure about those version ranges. They may be smaller than would be ideal, but they're real.
When a module gets disconnected, the hardware controller cleans up the
module instance, which stops the poller. What it doesn't do is cancel
anything that was waiting on the next poll, or in fact prevent new
things from waiting on the now-stopped poller. That means that if a
module disconnects
- During a module method waiting for the next poll, that module method
hangs (well, awaits) forever
- During a module method right _before_ waiting for the next poll, that
module method would start waiting and continue waiting forever

This PR forwards cancellations into the registered poll waiters when the
poller task is cancelled, and prevents the registration of new poll
waiters on a cancelled poll task.
* fix(app): fix odd protocol setup background color

fix odd protocol setup background color

Close RAUT-961
external links were opening in the electron browser window instead of an external browser window

closes RQA-2309
@SyntaxColoring SyntaxColoring requested review from a team as code owners February 8, 2024 18:03
@SyntaxColoring SyntaxColoring requested review from smb2268 and removed request for a team February 8, 2024 18:03
Copy link

codecov bot commented Feb 8, 2024

Codecov Report

Attention: 54 lines in your changes are missing coverage. Please review.

Comparison is base (b022b4b) 68.14% compared to head (17963c0) 67.77%.
Report is 1 commits behind head on edge.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             edge   #14453      +/-   ##
==========================================
- Coverage   68.14%   67.77%   -0.37%     
==========================================
  Files        2518     2518              
  Lines       72009    71968      -41     
  Branches     9232     9244      +12     
==========================================
- Hits        49067    48777     -290     
- Misses      20743    20989     +246     
- Partials     2199     2202       +3     
Flag Coverage Δ
app 64.58% <24.44%> (-0.08%) ⬇️
components 49.41% <33.33%> (-0.15%) ⬇️
g-code-testing 92.43% <0.00%> (-4.06%) ⬇️
hardware 57.30% <42.85%> (ø)
hardware-testing ∅ <ø> (∅)
labware-library 41.11% <ø> (ø)
protocol-designer 37.93% <ø> (ø)
react-api-client 66.16% <ø> (ø)
shared-data 75.26% <80.00%> (+<0.01%) ⬆️
step-generation 86.90% <ø> (ø)
system-server 96.04% <100.00%> (ø)
update-server 50.56% <ø> (-13.03%) ⬇️
usb-bridge 76.94% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
api/src/opentrons/calibration_storage/helpers.py 95.45% <ø> (-0.55%) ⬇️
...rons/drivers/asyncio/communication/async_serial.py 97.72% <ø> (-0.06%) ⬇️
api/src/opentrons/drivers/rpi_drivers/gpio.py 4.65% <ø> (-0.56%) ⬇️
api/src/opentrons/drivers/serial_communication.py 28.76% <ø> (-2.82%) ⬇️
...c/opentrons/drivers/smoothie_drivers/driver_3_0.py 80.69% <ø> (-0.03%) ⬇️
...rc/opentrons/drivers/smoothie_drivers/simulator.py 80.76% <ø> (+1.13%) ⬆️
api/src/opentrons/hardware_control/api.py 82.33% <ø> (-0.05%) ⬇️
.../opentrons/hardware_control/backends/controller.py 72.89% <ø> (-0.17%) ⬇️
...entrons/hardware_control/backends/ot3controller.py 68.48% <ø> (ø)
...pentrons/hardware_control/backends/ot3simulator.py 86.23% <ø> (ø)
... and 80 more

... and 15 files with indirect coverage changes

Copy link
Member

@sfoster1 sfoster1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup! Remember: normal merge this.

Copy link
Member

@sanni-t sanni-t left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yay! Thank you!

@SyntaxColoring SyntaxColoring merged commit 63a20fc into edge Feb 8, 2024
175 of 178 checks passed
@SyntaxColoring SyntaxColoring deleted the mergeback branch February 8, 2024 18:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants