Skip to content

Commit 0cb41b8

Browse files
committed
Merge branch 'edge' into shared-data-add_liquid_class_definitions
2 parents 72b7d1a + 99b9f76 commit 0cb41b8

File tree

792 files changed

+47492
-9935
lines changed

Some content is hidden

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

792 files changed

+47492
-9935
lines changed

.eslintignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ robot-server/**
2828
shared-data/python/**
2929
hardware-testing/**
3030

31+
# abr-testing don't format the json protocols
32+
abr-testing/protocols/**
33+
3134
# analyses-snapshot-testing don't format the json protocols
3235
analyses-snapshot-testing/files
3336
# don't format the snapshots

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

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,13 @@ jobs:
4545
timeout-minutes: 15
4646
runs-on: ubuntu-latest
4747
env:
48+
BASE_IMAGE_NAME: opentrons-python-base:3.10
4849
ANALYSIS_REF: ${{ github.event.inputs.ANALYSIS_REF || github.head_ref || 'edge' }}
4950
SNAPSHOT_REF: ${{ github.event.inputs.SNAPSHOT_REF || github.head_ref || 'edge' }}
5051
# If we're running because of workflow_dispatch, use the user input to decide
5152
# whether to open a PR on failure. Otherwise, there is no user input,
5253
# so we only open a PR if the PR has the label 'gen-analyses-snapshot-pr'
53-
OPEN_PR_ON_FAILURE: ${{ (github.event_name == 'workflow_dispatch' && github.events.inputs.OPEN_PR_ON_FAILURE) || ((github.event_name != 'workflow_dispatch') && (contains(github.event.pull_request.labels.*.name, 'gen-analyses-snapshot-pr'))) }}
54+
OPEN_PR_ON_FAILURE: ${{ (github.event_name == 'workflow_dispatch' && github.event.inputs.OPEN_PR_ON_FAILURE) || ((github.event_name != 'workflow_dispatch') && (contains(github.event.pull_request.labels.*.name, 'gen-analyses-snapshot-pr'))) }}
5455
PR_TARGET_BRANCH: ${{ github.event.pull_request.base.ref || 'not a pr'}}
5556
steps:
5657
- name: Checkout Repository
@@ -71,9 +72,24 @@ jobs:
7172
echo "Analyses snapshots match ${{ env.PR_TARGET_BRANCH }} snapshots."
7273
fi
7374
74-
- name: Docker Build
75+
- name: Set up Docker Buildx
76+
uses: docker/setup-buildx-action@v3
77+
78+
- name: Build base image
79+
id: build_base_image
80+
uses: docker/build-push-action@v6
81+
with:
82+
context: analyses-snapshot-testing/citools
83+
file: analyses-snapshot-testing/citools/Dockerfile.base
84+
push: false
85+
load: true
86+
tags: ${{ env.BASE_IMAGE_NAME }}
87+
cache-from: type=gha
88+
cache-to: type=gha,mode=max
89+
90+
- name: Build analysis image
7591
working-directory: analyses-snapshot-testing
76-
run: make build-opentrons-analysis
92+
run: make build-opentrons-analysis BASE_IMAGE_NAME=${{ env.BASE_IMAGE_NAME }} ANALYSIS_REF=${{ env.ANALYSIS_REF }} CACHEBUST=${{ github.run_number }}
7793

7894
- name: Set up Python 3.13
7995
uses: actions/setup-python@v5
@@ -112,8 +128,8 @@ jobs:
112128
commit-message: 'fix(analyses-snapshot-testing): heal analyses snapshots'
113129
title: 'fix(analyses-snapshot-testing): heal ${{ env.ANALYSIS_REF }} snapshots'
114130
body: 'This PR was requested on the PR https://github.com/${{ github.repository }}/pull/${{ github.event.pull_request.number }}'
115-
branch: 'analyses-snapshot-testing/${{ env.ANALYSIS_REF }}-from-${{ env.SNAPSHOT_REF}}'
116-
base: ${{ env.SNAPSHOT_REF}}
131+
branch: 'analyses-snapshot-testing/${{ env.ANALYSIS_REF }}-from-${{ env.SNAPSHOT_REF }}'
132+
base: ${{ env.SNAPSHOT_REF }}
117133

118134
- name: Comment on feature PR
119135
if: always() && steps.create_pull_request.outcome == 'success' && github.event_name == 'pull_request'
@@ -135,5 +151,5 @@ jobs:
135151
commit-message: 'fix(analyses-snapshot-testing): heal ${{ env.ANALYSIS_REF }} snapshots'
136152
title: 'fix(analyses-snapshot-testing): heal ${{ env.ANALYSIS_REF }} snapshots'
137153
body: 'The ${{ env.ANALYSIS_REF }} overnight analyses snapshot test is failing. This PR was opened to alert us to the failure.'
138-
branch: 'analyses-snapshot-testing/${{ env.ANALYSIS_REF }}-from-${{ env.SNAPSHOT_REF}}'
139-
base: ${{ env.SNAPSHOT_REF}}
154+
branch: 'analyses-snapshot-testing/${{ env.ANALYSIS_REF }}-from-${{ env.SNAPSHOT_REF }}'
155+
base: ${{ env.SNAPSHOT_REF }}

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

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ jobs:
308308
if: startsWith(matrix.os, 'windows') && contains(needs.determine-build-type.outputs.type, 'release')
309309
shell: bash
310310
run: |
311-
echo "${{ secrets.SM_CLIENT_CERT_FILE_B64 }}" | base64 --decode > /d/Certificate_pkcs12.p12
311+
echo "${{ secrets.SM_CLIENT_CERT_FILE_B64_V2 }}" | base64 --decode > /d/Certificate_pkcs12.p12
312312
echo "${{ secrets.WINDOWS_CSC_B64}}" | base64 --decode > /d/opentrons_labworks_inc.crt
313313
echo "C:\Program Files (x86)\Windows Kits\10\App Certification Kit" >> $GITHUB_PATH
314314
echo "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools" >> $GITHUB_PATH
@@ -318,19 +318,28 @@ jobs:
318318
if: startsWith(matrix.os, 'windows') && contains(needs.determine-build-type.outputs.type, 'release')
319319
shell: cmd
320320
env:
321-
SM_HOST: ${{ secrets.SM_HOST }}
321+
SM_HOST: ${{ secrets.SM_HOST_V2 }}
322322
SM_CLIENT_CERT_FILE: "D:\\Certificate_pkcs12.p12"
323-
SM_CLIENT_CERT_PASSWORD: ${{secrets.SM_CLIENT_CERT_PASSWORD}}
324-
SM_API_KEY: ${{secrets.SM_API_KEY}}
323+
SM_CLIENT_CERT_PASSWORD: ${{secrets.SM_CLIENT_CERT_PASSWORD_V2}}
324+
SM_API_KEY: ${{secrets.SM_API_KEY_V2}}
325325
run: |
326-
curl -X GET https://one.digicert.com/signingmanager/api-ui/v1/releases/Keylockertools-windows-x64.msi/download -H "x-api-key:${{secrets.SM_API_KEY}}" -o Keylockertools-windows-x64.msi
326+
curl -X GET https://one.digicert.com/signingmanager/api-ui/v1/releases/Keylockertools-windows-x64.msi/download -H "x-api-key:${{secrets.SM_API_KEY_V2}}" -o Keylockertools-windows-x64.msi
327327
msiexec /i Keylockertools-windows-x64.msi /quiet /qn
328328
smksp_registrar.exe list
329329
smctl.exe keypair ls
330330
C:\Windows\System32\certutil.exe -csp "DigiCert Signing Manager KSP" -key -user
331331
smksp_cert_sync.exe
332332
smctl.exe healthcheck --all
333333
334+
# Do the frontend dist bundle
335+
- name: 'bundle ${{matrix.variant}} frontend'
336+
env:
337+
OT_APP_MIXPANEL_ID: ${{ secrets.OT_APP_MIXPANEL_ID }}
338+
OT_APP_INTERCOM_ID: ${{ secrets.OT_APP_INTERCOM_ID }}
339+
OPENTRONS_PROJECT: ${{ steps.project.outputs.project }}
340+
run: |
341+
make -C app dist
342+
334343
# build the desktop app and deploy it
335344
- name: 'build ${{matrix.variant}} app for ${{ matrix.os }}'
336345
if: matrix.target == 'desktop'
@@ -339,18 +348,18 @@ jobs:
339348
OT_APP_MIXPANEL_ID: ${{ secrets.OT_APP_MIXPANEL_ID }}
340349
OT_APP_INTERCOM_ID: ${{ secrets.OT_APP_INTERCOM_ID }}
341350
WINDOWS_SIGN: ${{ format('{0}', contains(needs.determine-build-type.outputs.type, 'release')) }}
342-
SM_HOST: ${{secrets.SM_HOST}}
351+
SM_CODE_SIGNING_CERT_SHA1_HASH: ${{secrets.SM_CODE_SIGNING_CERT_SHA1_HASH_V2}}
352+
SM_KEYPAIR_ALIAS: ${{secrets.SM_KEYPAIR_ALIAS_V2}}
353+
SM_HOST: ${{ secrets.SM_HOST_V2 }}
343354
SM_CLIENT_CERT_FILE: "D:\\Certificate_pkcs12.p12"
344-
SM_CLIENT_CERT_PASSWORD: ${{secrets.SM_CLIENT_CERT_PASSWORD}}
345-
SM_API_KEY: ${{secrets.SM_API_KEY}}
346-
SM_CODE_SIGNING_CERT_SHA1_HASH: ${{secrets.SM_CODE_SIGNING_CERT_SHA1_HASH}}
347-
SM_KEYPAIR_ALIAS: ${{secrets.SM_KEYPAIR_ALIAS}}
355+
SM_CLIENT_CERT_PASSWORD: ${{secrets.SM_CLIENT_CERT_PASSWORD_V2}}
356+
SM_API_KEY: ${{secrets.SM_API_KEY_V2}}
348357
WINDOWS_CSC_FILEPATH: "D:\\opentrons_labworks_inc.crt"
349-
CSC_LINK: ${{ secrets.OT_APP_CSC_MACOS }}
350-
CSC_KEY_PASSWORD: ${{ secrets.OT_APP_CSC_KEY_MACOS }}
351-
APPLE_ID: ${{ secrets.OT_APP_APPLE_ID }}
352-
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.OT_APP_APPLE_ID_PASSWORD }}
353-
APPLE_TEAM_ID: ${{ secrets.OT_APP_APPLE_TEAM_ID }}
358+
CSC_LINK: ${{ secrets.OT_APP_CSC_MACOS_V2 }}
359+
CSC_KEY_PASSWORD: ${{ secrets.OT_APP_CSC_KEY_MACOS_V2 }}
360+
APPLE_ID: ${{ secrets.OT_APP_APPLE_ID_V2 }}
361+
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.OT_APP_APPLE_ID_PASSWORD_V2 }}
362+
APPLE_TEAM_ID: ${{ secrets.OT_APP_APPLE_TEAM_ID_V2 }}
354363
HOST_PYTHON: python
355364
OPENTRONS_PROJECT: ${{ steps.project.outputs.project }}
356365
OT_APP_DEPLOY_BUCKET: ${{ steps.project.outputs.bucket }}

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

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -79,49 +79,49 @@ jobs:
7979
files: ./coverage/lcov.info
8080
flags: protocol-designer
8181

82-
# e2e-test:
83-
# name: 'pd e2e tests'
84-
# needs: ['js-unit-test']
85-
# timeout-minutes: 30
86-
# strategy:
87-
# matrix:
88-
# os: ['ubuntu-22.04']
89-
# runs-on: '${{ matrix.os }}'
90-
# steps:
91-
# - uses: 'actions/checkout@v3'
92-
# with:
93-
# fetch-depth: 0
94-
# # https://github.com/actions/checkout/issues/290
95-
# - name: 'Fix actions/checkout odd handling of tags'
96-
# if: startsWith(github.ref, 'refs/tags')
97-
# run: |
98-
# git fetch -f origin ${{ github.ref }}:${{ github.ref }}
99-
# git checkout ${{ github.ref }}
100-
# - uses: 'actions/setup-node@v3'
101-
# with:
102-
# node-version: '18.19.0'
103-
# - name: 'install udev for usb-detection'
104-
# if: startsWith(matrix.os, 'ubuntu')
105-
# run: |
106-
# # WORKAROUND: Remove microsoft debian repo due to https://github.com/microsoft/linux-package-repositories/issues/130. Remove line below after it is resolved
107-
# sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
108-
# sudo apt-get update && sudo apt-get install libudev-dev
109-
# - name: 'cache yarn cache'
110-
# uses: actions/cache@v3
111-
# with:
112-
# path: |
113-
# ${{ github.workspace }}/.yarn-cache
114-
# ${{ github.workspace }}/.npm-cache
115-
# key: js-${{ secrets.GH_CACHE_VERSION }}-${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
116-
# restore-keys: |
117-
# js-${{ secrets.GH_CACHE_VERSION }}-${{ runner.os }}-yarn-
118-
# - name: 'setup-js'
119-
# run: |
120-
# npm config set cache ./.npm-cache
121-
# yarn config set cache-folder ./.yarn-cache
122-
# make setup-js
123-
# - name: 'test-e2e'
124-
# run: make -C protocol-designer test-e2e
82+
e2e-test:
83+
name: 'pd e2e tests'
84+
needs: ['js-unit-test']
85+
timeout-minutes: 30
86+
strategy:
87+
matrix:
88+
os: ['ubuntu-22.04']
89+
runs-on: '${{ matrix.os }}'
90+
steps:
91+
- uses: 'actions/checkout@v3'
92+
with:
93+
fetch-depth: 0
94+
# https://github.com/actions/checkout/issues/290
95+
- name: 'Fix actions/checkout odd handling of tags'
96+
if: startsWith(github.ref, 'refs/tags')
97+
run: |
98+
git fetch -f origin ${{ github.ref }}:${{ github.ref }}
99+
git checkout ${{ github.ref }}
100+
- uses: 'actions/setup-node@v3'
101+
with:
102+
node-version: '18.19.0'
103+
- name: 'install udev for usb-detection'
104+
if: startsWith(matrix.os, 'ubuntu')
105+
run: |
106+
# WORKAROUND: Remove microsoft debian repo due to https://github.com/microsoft/linux-package-repositories/issues/130. Remove line below after it is resolved
107+
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
108+
sudo apt-get update && sudo apt-get install libudev-dev
109+
- name: 'cache yarn cache'
110+
uses: actions/cache@v3
111+
with:
112+
path: |
113+
${{ github.workspace }}/.yarn-cache
114+
${{ github.workspace }}/.npm-cache
115+
key: js-${{ secrets.GH_CACHE_VERSION }}-${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
116+
restore-keys: |
117+
js-${{ secrets.GH_CACHE_VERSION }}-${{ runner.os }}-yarn-
118+
- name: 'setup-js'
119+
run: |
120+
npm config set cache ./.npm-cache
121+
yarn config set cache-folder ./.yarn-cache
122+
make setup-js
123+
- name: 'test-e2e'
124+
run: make -C protocol-designer test-e2e
125125
build-pd:
126126
name: 'build protocol designer artifact'
127127
needs: ['js-unit-test']

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ lint-js-prettier:
228228

229229
.PHONY: lint-json
230230
lint-json:
231-
yarn eslint --max-warnings 0 --ext .json .
231+
yarn eslint --ignore-pattern "abr-testing/protocols/" --max-warnings 0 --ext .json .
232232

233233
.PHONY: lint-css
234234
lint-css:

abr-testing/.flake8

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,5 @@ docstring-convention = google
2121

2222
noqa-require-code = true
2323

24-
# per-file-ignores =
24+
per-file-ignores =
25+
abr_testing/protocols/*: C901

abr-testing/Pipfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ slack-sdk = "*"
1919
pandas = "*"
2020
pandas-stubs = "*"
2121
paramiko = "*"
22+
prettier = "*"
2223

2324
[dev-packages]
2425
atomicwrites = "==1.4.1"

0 commit comments

Comments
 (0)