Skip to content

Commit

Permalink
Merge branch 'edge' into pd-tools-for-cypress-20250205
Browse files Browse the repository at this point in the history
  • Loading branch information
y3rsh authored Feb 6, 2025
2 parents f48c18d + 73b70f4 commit 85a63db
Show file tree
Hide file tree
Showing 32 changed files with 705 additions and 180 deletions.
66 changes: 47 additions & 19 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,55 @@
version: 2.0

coverage:
status:
project:
default:
target: auto
threshold: '10'
patch:
default:
target: auto
threshold: 0

comment:
layout: 'reach, diff, flags, files'

ignore:
- '**/node_modules'
- 'webpack-config'
- 'hardware-testing'
- '**/*.md'
- '**/*.yaml'
- 'webpack-config/**'
- 'hardware-testing/**'
- 'abr-testing/**'
- 'test-data-generation/**'
- 'performance-metrics/**'
- 'package-testing/**'
- 'opentrons-ai-server/**'
- 'opentrons-ai-client/**'
- 'g-code-testing/**'
- 'api-client/**'
- 'analyses-snapshot-testing/**'
- '.storybook/**'
- 'react-api-client/**'
- 'scripts/**'
- '.github/**'
- '**/build/**'
- '**/dist/**'
- '**/node_modules/**'
- '**/{test,tests,__tests__,__mocks__,mocks}/**'
- '**/*.{md,yaml,yml,json,rst}'
- '**/Makefile'
- '**/*.in'
- '**/*.json'
- '**/*.config.js'
- '**/*.{in,ini,lock,toml,cfg}'
- '**/setup.py'
- '**/requirements.txt'
- '**/.flake8'
- '**/.coveragerc'
- '**/.prettierrc.js'
- '**/.eslintrc.js'
- '**/Pipfile'
- '**/Dockerfile*'
- '**/*.{config.js,config.ts}'
- '**/*.mk'
- '**/*.stories.tsx'

comment:
# add flags to `layout` configuration to show up in the PR comment
layout: 'reach, diff, flags, files'
- '**/*.{mjs,css,cjs,mts}'

flag_management:
default_rules:
carryforward: true

coverage:
status:
project:
default:
target: auto
threshold: 10
4 changes: 2 additions & 2 deletions .github/workflows/app-test-build-deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ env:
jobs:
js-unit-test:
# unit tests for the app's view layer (not the node layer)
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
name: 'opentrons app frontend unit tests'
timeout-minutes: 60
steps:
Expand Down Expand Up @@ -386,7 +386,7 @@ jobs:
deploy-release-app:
name: 'Deploy built app artifacts to S3'
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
needs:
['js-unit-test', 'backend-unit-test', 'build-app', 'determine-build-type']
if: contains(fromJSON(needs.determine-build-type.outputs.variants), 'release') || contains(fromJSON(needs.determine-build-type.outputs.variants), 'internal-release')
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/components-test-build-deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
js-unit-test:
name: 'components unit tests'
timeout-minutes: 30
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
steps:
- uses: 'actions/checkout@v4'
- uses: 'actions/setup-node@v4'
Expand Down Expand Up @@ -75,7 +75,7 @@ jobs:

build-components-storybook:
name: 'build components artifact'
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
if: github.event_name != 'pull_request'
needs: ['js-unit-test']
steps:
Expand Down Expand Up @@ -135,7 +135,7 @@ jobs:
deploy-components:
name: 'deploy components storybook artifact to S3'
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
needs:
['js-unit-test', 'build-components-storybook', 'determine-build-type']
if: needs.determine-build-type.outputs.type != 'none'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/js-check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ env:
jobs:
checks:
name: 'js checks'
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
timeout-minutes: 20
steps:
- uses: 'actions/checkout@v4'
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ll-test-build-deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
js-unit-test:
name: 'labware library unit tests'
timeout-minutes: 20
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
steps:
- uses: 'actions/checkout@v4'
- uses: 'actions/setup-node@v4'
Expand Down Expand Up @@ -83,7 +83,7 @@ jobs:
name: 'labware library e2e tests'
needs: ['js-unit-test']
timeout-minutes: 30
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
steps:
- uses: 'actions/checkout@v4'
# https://github.com/actions/checkout/issues/290
Expand Down Expand Up @@ -123,7 +123,7 @@ jobs:
name: 'build labware library artifact'
needs: ['js-unit-test']
timeout-minutes: 30
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
if: github.event_name != 'pull_request'
steps:
- uses: 'actions/checkout@v4'
Expand Down Expand Up @@ -170,7 +170,7 @@ jobs:
path: labware-library/dist
deploy-ll:
name: 'deploy LL artifact to S3'
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
needs: ['js-unit-test', 'e2e-test', 'build-ll']
if: github.event_name != 'pull_request'
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/opentrons-ai-client-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ env:

jobs:
js-unit-test:
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
name: 'opentrons ai frontend unit tests'
timeout-minutes: 60
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/react-api-client-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
js-unit-test:
name: 'api-client and react-api-client unit tests'
timeout-minutes: 30
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
steps:
- uses: 'actions/checkout@v4'
- uses: 'actions/setup-node@v4'
Expand Down
40 changes: 13 additions & 27 deletions .github/workflows/step-generation-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,18 @@ on:
- 'shared-data/**'
- 'package.json'
- '.github/workflows/step-generation-test.yaml'
- '.github/actions/js/setup/action.yml'
- '.github/actions/git/resolve-tag/action.yml'
- '.github/actions/environment/complex-variables/action.yml'
push:
paths:
- 'step-generation/**'
- 'shared-data/**'
- 'package.json'
- '.github/workflows/step-generation-test.yaml'
- '.github/actions/js/setup/action.yml'
- '.github/actions/git/resolve-tag/action.yml'
- '.github/actions/environment/complex-variables/action.yml'
branches:
- '*'

Expand All @@ -32,36 +38,16 @@ env:
jobs:
js-unit-test:
name: 'step generation unit tests'
runs-on: 'ubuntu-22.04'
timeout-minutes: 30
runs-on: 'ubuntu-24.04'
timeout-minutes: 20
steps:
- uses: 'actions/checkout@v4'
- uses: 'actions/setup-node@v4'
with:
node-version: '22.11.0'
- name: 'install udev for usb-detection'
run: |
# WORKAROUND: Remove microsoft debian repo due to https://github.com/microsoft/linux-package-repositories/issues/130. Remove line below after it is resolved
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update && sudo apt-get install libudev-dev
- name: 'cache yarn cache'
uses: actions/cache@v3
with:
path: |
${{ github.workspace }}/.yarn-cache
${{ github.workspace }}/.npm-cache
key: js-${{ secrets.GH_CACHE_VERSION }}-${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
restore-keys: |
js-${{ secrets.GH_CACHE_VERSION }}-${{ runner.os }}-yarn-
- name: 'setup-js'
run: |
npm config set cache ./.npm-cache
yarn config set cache-folder ./.yarn-cache
make setup-js
- name: 'Checkout Repository'
uses: actions/checkout@v4
- uses: ./.github/actions/js/setup
- name: 'run step generation unit tests'
run: make -C step-generation test-cov
- name: 'Upload coverage report'
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v5
with:
files: ./coverage/lcov.info
flags: step-generation
token: ${{ secrets.CODECOV_TOKEN }}
4 changes: 2 additions & 2 deletions .github/workflows/usb-bridge-lint-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
lint:
name: 'usb-bridge linting'
timeout-minutes: 10
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
steps:
- uses: 'actions/checkout@v4'
with:
Expand All @@ -60,7 +60,7 @@ jobs:
name: 'usb-bridge package tests'
timeout-minutes: 10
needs: [lint]
runs-on: 'ubuntu-22.04'
runs-on: 'ubuntu-24.04'
steps:
- uses: 'actions/checkout@v4'
with:
Expand Down
2 changes: 1 addition & 1 deletion NOTICE
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Opentrons Platform
Copyright 2015-2020 Opentrons Labworks, Inc.
Copyright 2015-2025 Opentrons Labworks, Inc.

The source code in this repository is licensed under the Apache License,
Version 2.0 (the "License"); you may not use this code except in
Expand Down
24 changes: 16 additions & 8 deletions api-client/src/runs/createLabwareOffset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,25 @@ import { POST, request } from '../request'

import type { ResponsePromise } from '../request'
import type { HostConfig } from '../types'
import type { LegacyLabwareOffsetCreateData, Run } from './types'
import type { LabwareOffset, LegacyLabwareOffsetCreateData } from './types'

export function createLabwareOffset(
config: HostConfig,
runId: string,
data: LegacyLabwareOffsetCreateData
): ResponsePromise<Run> {
return request<Run, { data: LegacyLabwareOffsetCreateData }>(
POST,
`/runs/${runId}/labware_offsets`,
{ data },
config
)
): ResponsePromise<LabwareOffset>
export function createLabwareOffset(
config: HostConfig,
runId: string,
data: LegacyLabwareOffsetCreateData[]
): ResponsePromise<LabwareOffset[]>
export function createLabwareOffset(
config: HostConfig,
runId: string,
data: LegacyLabwareOffsetCreateData | LegacyLabwareOffsetCreateData[]
): ResponsePromise<LabwareOffset | LabwareOffset[]> {
return request<
LabwareOffset | LabwareOffset[],
{ data: LegacyLabwareOffsetCreateData | LegacyLabwareOffsetCreateData[] }
>(POST, `/runs/${runId}/labware_offsets`, { data }, config)
}
6 changes: 6 additions & 0 deletions api/docs/v2/versioning.rst
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ This table lists the correspondence between Protocol API versions and robot soft
+-------------+------------------------------+
| API Version | Introduced in Robot Software |
+=============+==============================+
| 2.22 | 8.3.0 |
+-------------+------------------------------+
| 2.21 | 8.2.0 |
+-------------+------------------------------+
| 2.20 | 8.0.0 |
Expand Down Expand Up @@ -136,6 +138,10 @@ This table lists the correspondence between Protocol API versions and robot soft
Changes in API Versions
=======================

Version 2.22
-------------
This version includes beta features for our commercial partners.

Version 2.21
------------
- Adds :py:class:`.AbsorbanceReaderContext` to support the :ref:`Absorbance Plate Reader Module <absorbance-plate-reader-module>`. Use the load name ``absorbanceReaderV1`` with :py:meth:`.ProtocolContext.load_module` to add an Absorbance Plate Reader to a protocol.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ class AspirateVolumeMixin(BaseModel):
correctionVolume: Optional[float] = Field(
None,
description="The correction volume in uL.",
ge=0,
)


Expand All @@ -65,7 +64,6 @@ class DispenseVolumeMixin(BaseModel):
correctionVolume: Optional[float] = Field(
None,
description="The correction volume in uL.",
ge=0,
)


Expand Down
2 changes: 1 addition & 1 deletion protocol-designer/src/assets/localization/en/tooltip.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
"newLocation": "New location to move the selected labware",
"nozzles": "Partial pickup requires a tip rack directly on the deck. Full rack pickup requires the Flex 96 Tip Rack Adapter.",
"pipette": "Select the pipette you want to use",
"preWetTip": "Pre-wet by aspirating and dispensing 2/3 of the tip’s max volume",
"preWetTip": "Pre-wet by aspirating and dispensing the total aspiration volume",
"setTemperature": "Select the temperature to set your module to",
"wells": "Select wells",
"volume": "Volume to dispense in each well"
Expand Down
Loading

0 comments on commit 85a63db

Please sign in to comment.