Skip to content

Commit d6d8735

Browse files
committed
Merge remote-tracking branch 'origin/chore_release-8.4.0' into 8.3.2-release-into-chore_release-8.4.0
* origin/chore_release-8.4.0: (617 commits) fix(api): Only check the tip presence sensor on the side of a column pickup on the 96 (#18101) fix(app): fix adjust location specific offset after resetting to default (#18106) refactor(app): Update "need help" link for LPC Redesign (#18100) chore(release): 8.4 release notes addenda (#18060) fix(api): Default meniscus target to "end" (#18086) fix(app): Fix Error Recovery failed labware transformations (#18098) docs(api): API 2.23 Versioning page (#18088) fix(api): perform pipette movement checks in engine core move_to (#18096) feat(api): remove incompatible consolidate & distribute tip options, fix distribute blowout bug (#18082) docs(api): load liquids in API 2.23 (#18025) fix(api): Correctly track volume changes when using dynamic tracking. (#18095) docs(api): liquid meniscus in API 2.23 (#17971) fix(app): fix the app whitescreening on OT-2 run setup (#18091) refactor(app): Update LPC default offset tiprack calibration copy for 96ch (#18085) chore: new names for evo labware (#18079) refactor(app): Update LPC UI for DQA (#18080) perf(api,robot-server): Avoid blocking when logging to journald (#18075) Rqa 4042 refactor get relative well location (#18030) docs(api): lids updates in app 8.4 / PAPI 2.23 (#17972) chore(api): generic names for pressure pipetting (#18059) ...
2 parents e336b7b + c26f7ee commit d6d8735

File tree

2,681 files changed

+454227
-194201
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,681 files changed

+454227
-194201
lines changed

.codecov.yml

+45-19
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,53 @@
1+
coverage:
2+
status:
3+
project:
4+
default:
5+
target: auto
6+
threshold: '10'
7+
patch:
8+
default:
9+
target: auto
10+
threshold: 0
11+
12+
comment:
13+
layout: 'reach, diff, flags, files'
14+
115
ignore:
2-
- '**/node_modules'
3-
- 'webpack-config'
4-
- 'hardware-testing'
5-
- '**/*.md'
6-
- '**/*.yaml'
16+
- 'hardware-testing/**/*'
17+
- 'abr-testing/**/*'
18+
- 'test-data-generation/**/*'
19+
- 'performance-metrics/**/*'
20+
- 'package-testing/**/*'
21+
- 'opentrons-ai-server/**/*'
22+
- 'opentrons-ai-client/**/*'
23+
- 'g-code-testing/**/*'
24+
- 'api-client/**/*'
25+
- 'analyses-snapshot-testing/**/*'
26+
- '.storybook/**/*'
27+
- 'react-api-client/**/*'
28+
- 'scripts/**/*'
29+
- '.github/**/*'
30+
- '**/build/**/*'
31+
- '**/dist/**/*'
32+
- '**/node_modules/**/*'
33+
- '**/cypress/**/*'
34+
- '**/{test,tests,__tests__,__mocks__,mocks}/**/*'
35+
- '**/*.{md,yaml,yml,json,rst}'
736
- '**/Makefile'
8-
- '**/*.in'
9-
- '**/*.json'
10-
- '**/*.config.js'
37+
- '**/*.{in,ini,lock,toml,cfg}'
38+
- '**/setup.py'
39+
- '**/requirements.txt'
40+
- '**/.flake8'
41+
- '**/.coveragerc'
42+
- '**/.prettierrc.js'
43+
- '**/.eslintrc.js'
44+
- '**/Pipfile'
45+
- '**/Dockerfile*'
46+
- '**/*.{config.js,config.ts}'
1147
- '**/*.mk'
1248
- '**/*.stories.tsx'
13-
14-
comment:
15-
# add flags to `layout` configuration to show up in the PR comment
16-
layout: 'reach, diff, flags, files'
49+
- '**/*.{mjs,css,cjs,mts}'
1750

1851
flag_management:
1952
default_rules:
2053
carryforward: true
21-
22-
coverage:
23-
status:
24-
project:
25-
default:
26-
target: auto
27-
threshold: 10

.eslintignore

+3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
!api/release-notes.md
1414
!app-shell/build/release-notes.md
1515
**/.yarn-cache/**
16+
protocol-designer/cypress/downloads/**
1617

1718
# components library
1819
storybook-static
@@ -36,5 +37,7 @@ abr-testing/protocols/**
3637
analyses-snapshot-testing/files
3738
# don't format the snapshots
3839
analyses-snapshot-testing/tests/__snapshots__
40+
analyses-snapshot-testing/analysis_results
41+
3942
opentrons-ai-server/package
4043
opentrons-ai-server/api/storage/index/

.eslintrc.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ module.exports = {
2929
'import/no-default-export': 'error',
3030
'@typescript-eslint/promise-function-async': 'off',
3131
'@typescript-eslint/default-param-last': 'off',
32+
'@typescript-eslint/consistent-indexed-object-style': 'off',
3233

3334
// TODO(mc, 2021-01-29): fix these and remove warning overrides
3435
'lines-between-class-members': 'warn',
@@ -55,6 +56,7 @@ module.exports = {
5556
'useCurrentMaintenanceRun',
5657
'useDeckConfigurationQuery',
5758
'useAllCommandsAsPreSerializedList',
59+
'useSearchLabwareOffsets',
5860
],
5961
message:
6062
'HTTP hook deprecated. Use the equivalent notification wrapper (useNotifyXYZ).',
@@ -103,7 +105,6 @@ module.exports = {
103105
'@typescript-eslint/no-floating-promises': 'warn',
104106
'@typescript-eslint/no-unnecessary-type-assertion': 'warn',
105107
'@typescript-eslint/no-unnecessary-boolean-literal-compare': 'warn',
106-
'@typescript-eslint/consistent-indexed-object-style': 'warn',
107108
'@typescript-eslint/ban-types': 'warn',
108109
'@typescript-eslint/non-nullable-type-assertion-style': 'warn',
109110
'@typescript-eslint/await-thenable': 'warn',
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: 'Set Complex Environment Variables'
2+
description: Composite action using github-script to set complex environment variables.
3+
inputs: {}
4+
runs:
5+
using: 'composite'
6+
steps:
7+
- name: 'Set complex environment variables'
8+
id: set-vars
9+
uses: actions/github-script@v7
10+
with:
11+
script: |
12+
const { buildComplexEnvVars } = require(`${process.env.GITHUB_WORKSPACE}/.github/workflows/utils.js`)
13+
buildComplexEnvVars(core, context)
+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: 'Fix Checkout Tags'
2+
description: >
3+
Composite action to fix actions/checkout odd handling of tags
4+
by fetching and checking out the exact tag reference.
5+
See https://github.com/actions/checkout/issues/290
6+
inputs: {}
7+
runs:
8+
using: 'composite'
9+
steps:
10+
- name: 'Fix actions/checkout odd handling of tags'
11+
if: startsWith(github.ref, 'refs/tags')
12+
shell: bash
13+
env:
14+
REF: ${{ github.ref }}
15+
run: |
16+
git fetch -f origin "${REF}:${REF}"
17+
git checkout "${REF}"

.github/actions/js/setup/action.yml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: 'Setup JS Environment'
2+
description: >
3+
Composite action to fix tag handling in checkout,
4+
setup Node.js, install udev for USB detection, cache Yarn/NPM caches,
5+
and perform JS setup.
6+
7+
inputs: {}
8+
9+
runs:
10+
using: 'composite'
11+
steps:
12+
- uses: ./.github/actions/git/resolve-tag
13+
- uses: ./.github/actions/environment/complex-variables
14+
- name: 'Setup Node'
15+
uses: actions/setup-node@v4
16+
with:
17+
node-version: '22.11.0'
18+
cache: 'yarn'
19+
20+
- name: 'Install udev for USB-detection'
21+
if: runner.os == 'Linux'
22+
shell: bash
23+
run: sudo apt-get update && sudo apt-get install libudev-dev
24+
25+
- name: 'Setup JS'
26+
shell: bash
27+
run: |
28+
make setup-js

.github/workflows/analyses-snapshot-test.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,11 @@ jobs:
107107
working-directory: analyses-snapshot-testing
108108
run: make snapshot-test
109109

110+
- name: Run Audit
111+
id: run_audit
112+
working-directory: analyses-snapshot-testing
113+
run: make snapshot-audit-test
114+
110115
- name: Upload Report
111116
if: '!cancelled()'
112117
uses: actions/upload-artifact@v4

.github/workflows/api-test-lint-deploy.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
lint:
5050
name: 'opentrons package linting'
5151
timeout-minutes: 10
52-
runs-on: 'ubuntu-22.04'
52+
runs-on: 'ubuntu-24.04'
5353
steps:
5454
- uses: 'actions/checkout@v4'
5555
with:
@@ -183,7 +183,7 @@ jobs:
183183
deploy:
184184
name: 'deploy opentrons package'
185185
needs: [test]
186-
runs-on: 'ubuntu-22.04'
186+
runs-on: 'ubuntu-24.04'
187187
if: github.event_name == 'push'
188188
steps:
189189
- uses: 'actions/checkout@v4'

.github/workflows/app-test-build-deploy.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ env:
5252
jobs:
5353
js-unit-test:
5454
# unit tests for the app's view layer (not the node layer)
55-
runs-on: 'ubuntu-22.04'
55+
runs-on: 'ubuntu-24.04'
5656
name: 'opentrons app frontend unit tests'
5757
timeout-minutes: 60
5858
steps:
@@ -386,7 +386,7 @@ jobs:
386386
387387
deploy-release-app:
388388
name: 'Deploy built app artifacts to S3'
389-
runs-on: 'ubuntu-22.04'
389+
runs-on: 'ubuntu-24.04'
390390
needs:
391391
['js-unit-test', 'backend-unit-test', 'build-app', 'determine-build-type']
392392
if: contains(fromJSON(needs.determine-build-type.outputs.variants), 'release') || contains(fromJSON(needs.determine-build-type.outputs.variants), 'internal-release')

.github/workflows/components-test-build-deploy.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
js-unit-test:
4242
name: 'components unit tests'
4343
timeout-minutes: 30
44-
runs-on: 'ubuntu-22.04'
44+
runs-on: 'ubuntu-24.04'
4545
steps:
4646
- uses: 'actions/checkout@v4'
4747
- uses: 'actions/setup-node@v4'
@@ -75,7 +75,7 @@ jobs:
7575

7676
build-components-storybook:
7777
name: 'build components artifact'
78-
runs-on: 'ubuntu-22.04'
78+
runs-on: 'ubuntu-24.04'
7979
if: github.event_name != 'pull_request'
8080
needs: ['js-unit-test']
8181
steps:
@@ -135,7 +135,7 @@ jobs:
135135
136136
deploy-components:
137137
name: 'deploy components storybook artifact to S3'
138-
runs-on: 'ubuntu-22.04'
138+
runs-on: 'ubuntu-24.04'
139139
needs:
140140
['js-unit-test', 'build-components-storybook', 'determine-build-type']
141141
if: needs.determine-build-type.outputs.type != 'none'

.github/workflows/docs-build.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ defaults:
3838
jobs:
3939
build:
4040
name: opentrons documentation build
41-
runs-on: 'ubuntu-22.04'
41+
runs-on: 'ubuntu-24.04'
4242
steps:
4343
- uses: 'actions/checkout@v4'
4444
with:

.github/workflows/g-code-confirm-tests.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
matrix:
3434
command: ['2-modules', 'swift-smoke', 'swift-turbo', 'omega', 'fast']
3535
name: 'Confirm G-Code (${{ matrix.command }})'
36-
runs-on: 'ubuntu-22.04'
36+
runs-on: 'ubuntu-24.04'
3737
steps:
3838
- uses: 'actions/checkout@v4'
3939
with:

.github/workflows/g-code-testing-lint-test.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ defaults:
4040
jobs:
4141
lint-test:
4242
name: 'g-code-testing package linting and tests'
43-
runs-on: 'ubuntu-22.04'
43+
runs-on: 'ubuntu-24.04'
4444
steps:
4545
- uses: 'actions/checkout@v4'
4646
with:

.github/workflows/hardware-lint-test.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
lint-test:
4242
name: 'hardware package linting and tests'
4343
timeout-minutes: 20
44-
runs-on: 'ubuntu-20.04'
44+
runs-on: 'ubuntu-24.04'
4545
steps:
4646
- name: Checkout opentrons repo
4747
uses: 'actions/checkout@v4'

.github/workflows/hardware-testing-protocols.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
lint-test:
3636
name: 'hardware-testing protocols'
3737
timeout-minutes: 20
38-
runs-on: 'ubuntu-20.04'
38+
runs-on: 'ubuntu-24.04'
3939
steps:
4040
- name: Checkout opentrons repo
4141
uses: 'actions/checkout@v4'

.github/workflows/hardware-testing.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
lint-test:
4141
name: 'hardware--testing package linting and tests'
4242
timeout-minutes: 20
43-
runs-on: 'ubuntu-20.04'
43+
runs-on: 'ubuntu-24.04'
4444
steps:
4545
- name: Checkout opentrons repo
4646
uses: 'actions/checkout@v4'

.github/workflows/http-docs-build.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ defaults:
3838
jobs:
3939
build:
4040
name: HTTP API reference build
41-
runs-on: 'ubuntu-22.04'
41+
runs-on: 'ubuntu-24.04'
4242
steps:
4343
- uses: 'actions/checkout@v4'
4444
with:

.github/workflows/js-check.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ env:
3939
jobs:
4040
checks:
4141
name: 'js checks'
42-
runs-on: 'ubuntu-22.04'
42+
runs-on: 'ubuntu-24.04'
4343
timeout-minutes: 20
4444
steps:
4545
- uses: 'actions/checkout@v4'

.github/workflows/ll-test-build-deploy.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
js-unit-test:
4141
name: 'labware library unit tests'
4242
timeout-minutes: 20
43-
runs-on: 'ubuntu-22.04'
43+
runs-on: 'ubuntu-24.04'
4444
steps:
4545
- uses: 'actions/checkout@v4'
4646
- uses: 'actions/setup-node@v4'
@@ -83,7 +83,7 @@ jobs:
8383
name: 'labware library e2e tests'
8484
needs: ['js-unit-test']
8585
timeout-minutes: 30
86-
runs-on: 'ubuntu-22.04'
86+
runs-on: 'ubuntu-24.04'
8787
steps:
8888
- uses: 'actions/checkout@v4'
8989
# https://github.com/actions/checkout/issues/290
@@ -123,7 +123,7 @@ jobs:
123123
name: 'build labware library artifact'
124124
needs: ['js-unit-test']
125125
timeout-minutes: 30
126-
runs-on: 'ubuntu-22.04'
126+
runs-on: 'ubuntu-24.04'
127127
if: github.event_name != 'pull_request'
128128
steps:
129129
- uses: 'actions/checkout@v4'
@@ -170,7 +170,7 @@ jobs:
170170
path: labware-library/dist
171171
deploy-ll:
172172
name: 'deploy LL artifact to S3'
173-
runs-on: 'ubuntu-22.04'
173+
runs-on: 'ubuntu-24.04'
174174
needs: ['js-unit-test', 'e2e-test', 'build-ll']
175175
if: github.event_name != 'pull_request'
176176
steps:

.github/workflows/opentrons-ai-client-staging-continuous-deploy.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ env:
1616

1717
jobs:
1818
js-unit-test:
19-
runs-on: 'ubuntu-22.04'
19+
runs-on: 'ubuntu-24.04'
2020
permissions:
2121
id-token: write
2222
contents: read
@@ -53,8 +53,8 @@ jobs:
5353
make setup-js
5454
- name: 'build'
5555
env:
56-
# inject dev id since this is for staging
57-
OT_AI_CLIENT_MIXPANEL_ID: ${{ secrets.OT_AI_CLIENT_MIXPANEL_DEV_ID }}
56+
# inject dev id since this is for staging
57+
OT_AI_CLIENT_MIXPANEL_ID: ${{ secrets.OT_AI_CLIENT_MIXPANEL_DEV_ID }}
5858
run: |
5959
make -C opentrons-ai-client build-staging
6060
- name: Configure AWS Credentials

.github/workflows/opentrons-ai-client-test.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ env:
3535

3636
jobs:
3737
js-unit-test:
38-
runs-on: 'ubuntu-22.04'
38+
runs-on: 'ubuntu-24.04'
3939
name: 'opentrons ai frontend unit tests'
4040
timeout-minutes: 60
4141
steps:

0 commit comments

Comments
 (0)