Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
3e91b7f
trying api and shared only first
neo-jesse Nov 6, 2025
5afec52
dynamic version
neo-jesse Nov 6, 2025
1017a9a
setup uv first
neo-jesse Nov 6, 2025
b685508
more sources
neo-jesse Nov 6, 2025
bc631d1
still using pip
neo-jesse Nov 6, 2025
32fdbb4
uv.lock files
neo-jesse Nov 6, 2025
d341879
deps
neo-jesse Nov 6, 2025
4afb9f9
pre-create the cache
neo-jesse Nov 6, 2025
c2e4076
windows cache
neo-jesse Nov 6, 2025
036f5b5
use the UV_CACHE_DIR environment variable
neo-jesse Nov 6, 2025
1986ade
always run
neo-jesse Nov 6, 2025
a9707c5
GHA matrix options
neo-jesse Nov 6, 2025
9fc2a2c
create the cache directory in two places
neo-jesse Nov 6, 2025
fe5da8d
test
neo-jesse Nov 6, 2025
d00bbbf
test
neo-jesse Nov 7, 2025
553322f
trying runner cache
neo-jesse Nov 7, 2025
2bec34a
no cache here
neo-jesse Nov 7, 2025
2397acd
ignore
neo-jesse Nov 7, 2025
b3070e4
modularly install uv
neo-jesse Nov 7, 2025
af28c90
fix windows build
neo-jesse Nov 7, 2025
a5b9f52
disallow_untyped_decorators false
neo-jesse Nov 7, 2025
5ff69cc
Added type casts
neo-jesse Nov 7, 2025
e73f1f6
pass the build
neo-jesse Nov 7, 2025
9f6c867
more errors
neo-jesse Nov 7, 2025
317040c
cast
neo-jesse Nov 7, 2025
a6fdfca
formatting
neo-jesse Nov 7, 2025
513ab33
formatting
neo-jesse Nov 12, 2025
612d84a
formatting
neo-jesse Nov 12, 2025
818ae44
more deps
neo-jesse Nov 12, 2025
919a011
dev deps
neo-jesse Nov 12, 2025
71c39e0
need uv lock update
neo-jesse Nov 12, 2025
e06a1d8
we'll see
neo-jesse Nov 12, 2025
56afca4
export path
neo-jesse Nov 12, 2025
5f71c5a
deps
neo-jesse Nov 12, 2025
30b6b28
mypy
neo-jesse Nov 12, 2025
e18e5e6
path
neo-jesse Nov 12, 2025
b18ba55
install-dev-deps
neo-jesse Nov 12, 2025
db24c4f
python-uv.mk
neo-jesse Nov 13, 2025
86dc12e
maybe
neo-jesse Nov 13, 2025
b974082
install pipenv
neo-jesse Nov 13, 2025
8292937
sync dev
neo-jesse Nov 13, 2025
366890e
use pip
neo-jesse Nov 13, 2025
715e9be
only api and shared-data
neo-jesse Nov 13, 2025
abfede5
api and shared-data
neo-jesse Nov 13, 2025
17db7d4
more dev-deps
neo-jesse Nov 13, 2025
402f211
docs dev deps
neo-jesse Nov 13, 2025
e0e43b6
more dev deps
neo-jesse Nov 13, 2025
9234eb1
sync dev
neo-jesse Nov 13, 2025
393dd95
sigh dev-deps
neo-jesse Nov 13, 2025
083583a
first set of Seth recs
neo-jesse Nov 14, 2025
c42ff55
Merge branch 'edge' into api-and-shared-uv-migration
neo-jesse Nov 14, 2025
b361d37
Added imports for referencing
neo-jesse Nov 14, 2025
5f94c9e
added --dev back
neo-jesse Nov 14, 2025
eefc7f8
referencing
neo-jesse Nov 14, 2025
e275c5d
formatting
neo-jesse Nov 14, 2025
3677d6b
lockfile hash
neo-jesse Nov 14, 2025
d1de972
Update api/Makefile
neo-jesse Nov 14, 2025
db3f130
Update api/Makefile
neo-jesse Nov 14, 2025
c64022e
formatting
neo-jesse Nov 14, 2025
3484337
another hash
neo-jesse Nov 14, 2025
0d3b3e0
black is complaining
neo-jesse Nov 14, 2025
ff366f3
need this module
neo-jesse Nov 14, 2025
82b2f2b
downgrade jsonschema
neo-jesse Nov 14, 2025
d6babb4
deps issue
neo-jesse Nov 14, 2025
19f0e57
maybe can get rid of ignores
neo-jesse Nov 14, 2025
e63c96a
use real uv install
neo-jesse Nov 14, 2025
a7750a4
optional dep
neo-jesse Nov 14, 2025
8c8abf5
mypy errors
neo-jesse Nov 14, 2025
236913f
suggested changes
neo-jesse Nov 15, 2025
2209780
no linux detection logic
neo-jesse Nov 15, 2025
7fadfff
correct type
neo-jesse Nov 15, 2025
29fe2f3
wrong version tags
neo-jesse Nov 17, 2025
b921c7b
regen lock file
neo-jesse Nov 17, 2025
00ef191
formatting
neo-jesse Nov 17, 2025
2fe3c59
remove -y
neo-jesse Nov 17, 2025
b2a2ad3
no hard versions
neo-jesse Nov 17, 2025
7b8e039
dependency groups
neo-jesse Nov 17, 2025
4fbfd32
switch to dependency groups
neo-jesse Nov 17, 2025
0f8f481
group dev
neo-jesse Nov 17, 2025
7a69e0d
robot server make test running with uv
y3rsh Nov 6, 2025
f065390
reset jsonschema version
neo-jesse Nov 17, 2025
e688c3c
adding ignores back in
neo-jesse Nov 18, 2025
41d0cbc
remove extra cache action
neo-jesse Nov 18, 2025
f97b524
setup-uv action
neo-jesse Nov 18, 2025
58caa89
perf helper
neo-jesse Nov 18, 2025
b5cb674
include robot
neo-jesse Nov 18, 2025
c82cb0b
fix docs
neo-jesse Nov 18, 2025
2acce4c
removed unneeded change
neo-jesse Nov 18, 2025
e263295
more dep groups
neo-jesse Nov 19, 2025
77ec4da
no more install-dev-deps
neo-jesse Nov 19, 2025
df03dc8
first run at migrating the rest
neo-jesse Nov 19, 2025
8c84d54
use the right setup
neo-jesse Nov 19, 2025
cfa7fe8
more error fixes
neo-jesse Nov 19, 2025
50ad2e4
old python
neo-jesse Nov 19, 2025
1fc3d5c
update versions
neo-jesse Nov 19, 2025
c3884be
comments, removing pip
neo-jesse Nov 19, 2025
54a0c22
uv caching, redundant steps
neo-jesse Nov 19, 2025
bd01434
more pytest
neo-jesse Nov 20, 2025
3de4b02
setuptools
neo-jesse Nov 20, 2025
196aa64
specify python version
neo-jesse Nov 20, 2025
d089165
revert to previous state
neo-jesse Nov 20, 2025
8438b00
python 3.10
neo-jesse Nov 20, 2025
1537688
uv pip install
neo-jesse Nov 20, 2025
e6582cb
venv python
neo-jesse Nov 20, 2025
eb9ded8
Revert "venv python"
neo-jesse Nov 20, 2025
6bf6731
a few fixes
neo-jesse Nov 21, 2025
317a21d
add back optional deps
neo-jesse Nov 21, 2025
937f114
Api and shared uv migration josh (#20218)
y3rsh Nov 21, 2025
fdd48d6
Merge branch 'edge' into api-and-shared-uv-migration
neo-jesse Nov 21, 2025
2712057
uniform stup-py targets
neo-jesse Nov 24, 2025
ef6db16
removed timing
neo-jesse Nov 24, 2025
87d4a10
make matrix great again
neo-jesse Nov 24, 2025
50964f8
more matrix
neo-jesse Nov 24, 2025
4ee9e3e
need that file back
neo-jesse Nov 24, 2025
32f306c
comments removed
neo-jesse Nov 24, 2025
5ffe048
version fixes
neo-jesse Nov 26, 2025
ab14763
uv lock
neo-jesse Nov 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/actions/python/setup-uv/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: 'UV Python Setup'
description: 'Set up the environment for a UV-managed Python project'
inputs:
project:
description: 'Which project (by subdirectory) to set up'
required: true
python-version:
description: 'Python version to install via setup-uv'
required: false
default: '3.10'
install-system-deps:
description: 'Whether to install system dependencies (libsystemd-dev on Linux)'
required: false
default: 'true'
runs:
using: 'composite'
steps:
- shell: bash
if: inputs.install-system-deps == 'true'
run: |
if [[ "${OSTYPE}" =~ "linux" ]]; then
# 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 -y --no-install-recommends libsystemd-dev
fi
- shell: bash
run: npm install --global [email protected]
- name: Setup Python and UV
uses: astral-sh/setup-uv@v7
with:
python-version: ${{ inputs.python-version }}
enable-cache: true
cache-dependency-glob: |
${{ inputs.project }}/pyproject.toml
${{ inputs.project }}/uv.lock
- name: Setup Python Environment
id: setup-env
shell: bash
run: make -C ${{ inputs.project }} setup
40 changes: 22 additions & 18 deletions .github/actions/python/setup/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,39 @@ inputs:
project:
description: 'Which project (by subdirectory) to set up'
required: true
python-version:
description: "What Python version to use to create the project's virtual environment"
install-system-deps:
description: 'Whether to install system dependencies (libsystemd-dev on Linux)'
required: false
default: "false"
default: 'true'
runs:
using: 'composite'
steps:
- shell: bash
if: inputs.install-system-deps == 'true'
run: |
if [[ "${OSTYPE}" =~ "linux" ]]; then
# 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 -y --no-install-recommends libsystemd-dev
fi
- name: Set the OT_PYTHON env variable
shell: bash
run: echo "OT_PYTHON=$(which python)" >> $GITHUB_ENV
- name: If provided set the OT_VIRTUALENV_VERSION env variable
shell : bash
if: ${{ inputs.python-version != 'false' }}
run: echo "OT_VIRTUALENV_VERSION=${{ inputs.python-version }}" >> $GITHUB_ENV
- shell: bash
run: npm install --global [email protected]
- shell: bash
run: $OT_PYTHON -m pip install --upgrade pip
- shell: bash
run: $OT_PYTHON -m pip install --user pipenv==2023.12.1
- shell: bash
run: $OT_PYTHON -m pip install --user virtualenv==20.30.0
- shell: bash
run: 'make -C ${{ inputs.project }} setup || make -C ${{ inputs.project }} setup'
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install pipenv and virtualenv
shell: bash
run: |
python -m pip install --upgrade pip
python -m pip install --user pipenv==2023.12.1
python -m pip install --user virtualenv==20.30.0
- name: Setup Python Environment
id: setup-env
shell: bash
run: |
# For pipenv projects, make setup runs "pipenv sync --dev" which always installs dev dependencies
# (see scripts/python.mk where pipenv_opts includes --dev)
make -C ${{ inputs.project }} setup
echo "::notice::Setup completed"
39 changes: 10 additions & 29 deletions .github/workflows/api-test-lint-deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,10 @@ jobs:
- uses: 'actions/setup-node@v4'
with:
node-version: '22.12.0'
- uses: 'actions/setup-python@v4'
with:
python-version: '3.10'

- uses: './.github/actions/python/setup'
- uses: './.github/actions/python/setup-uv'
with:
project: 'api'
python-version: '3.10'
- name: Lint with opentrons_hardware
run: make -C api lint
test:
Expand Down Expand Up @@ -95,24 +92,19 @@ jobs:
- uses: 'actions/setup-node@v4'
with:
node-version: '22.12.0'
- uses: 'actions/setup-python@v4'
with:
python-version: ${{ matrix.python }}
- name: 'set complex environment variables'
uses: actions/github-script@v6
with:
script: |
const { buildComplexEnvVars, } = require(`${process.env.GITHUB_WORKSPACE}/.github/workflows/utils.js`)
buildComplexEnvVars(core, context)
- uses: './.github/actions/python/setup'
- uses: './.github/actions/python/setup-uv'
with:
project: 'api'
python-version: ${{ matrix.python }}
- if: ${{ matrix.with-ot-hardware == 'false' }}
name: Remove OT-3 hardware package
run: make -C api setup-ot2
env:
OT_VIRTUALENV_VERSION: ${{ matrix.python }}
- if: ${{ matrix.with-ot-hardware == 'false' }}
name: Test without opentrons_hardware
run: make -C api test-ot2
Expand Down Expand Up @@ -141,21 +133,12 @@ jobs:
run: |
git fetch -f origin ${{ github.ref }}:${{ github.ref }}
git checkout ${{ github.ref }}
- uses: 'actions/setup-python@v4'
with:
python-version: '3.10'
- name: Set up package-testing
id: setup
if: ${{ matrix.os != 'windows-2022' }}
working-directory: package-testing
shell: bash
run: make setup
- name: Set up package-testing (Windows)
id: setup-windows
if: ${{ matrix.os == 'windows-2022' }}
working-directory: package-testing
shell: pwsh
run: make setup-windows
uses: './.github/actions/python/setup-uv'
with:
project: 'package-testing'
python-version: '3.10'
- name: Run the tests
if: ${{ matrix.os != 'windows-2022' }}
shell: bash
Expand All @@ -168,7 +151,7 @@ jobs:
working-directory: package-testing
run: make test-windows
- name: Save the test results
if: ${{ always() && steps.setup.outcome == 'success' || steps.setup-windows.outcome == 'success' }}
if: ${{ always() && steps.setup.outcome == 'success' }}
id: results
uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -202,18 +185,16 @@ jobs:
- uses: 'actions/setup-node@v4'
with:
node-version: '22.12.0'
- uses: 'actions/setup-python@v4'
with:
python-version: '3.10'
- name: 'set complex environment variables'
uses: actions/github-script@v6
with:
script: |
const { buildComplexEnvVars, } = require(`${process.env.GITHUB_WORKSPACE}/.github/workflows/utils.js`)
buildComplexEnvVars(core, context)
- uses: './.github/actions/python/setup'
- uses: './.github/actions/python/setup-uv'
with:
project: 'api'
python-version: '3.10'
- name: 'build api distributables'
shell: bash
run: make -C api sdist wheel
Expand Down
5 changes: 1 addition & 4 deletions .github/workflows/docs-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,7 @@ jobs:
- uses: 'actions/setup-node@v4'
with:
node-version: '22.12.0'
- uses: 'actions/setup-python@v3'
with:
python-version: '3.10'
- uses: './.github/actions/python/setup'
- uses: './.github/actions/python/setup-uv'
with:
project: 'api'
- name: 'Build docs'
Expand Down
6 changes: 1 addition & 5 deletions .github/workflows/g-code-confirm-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,9 @@ jobs:
- uses: 'actions/setup-node@v4'
with:
node-version: '12'
- uses: 'actions/setup-python@v3'
with:
python-version: '3.10'
- uses: './.github/actions/python/setup'
- uses: './.github/actions/python/setup-uv'
with:
project: 'g-code-testing'

- name: 'Verify no missing comparison files'
run: make -C g-code-testing check-for-missing-comparison-files

Expand Down
5 changes: 1 addition & 4 deletions .github/workflows/g-code-testing-lint-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,7 @@ jobs:
script: |
const { buildComplexEnvVars } = require(`${process.env.GITHUB_WORKSPACE}/.github/workflows/utils.js`)
buildComplexEnvVars(core, context)
- uses: 'actions/setup-python@v4'
with:
python-version: '3.10'
- uses: './.github/actions/python/setup'
- uses: './.github/actions/python/setup-uv'
with:
project: 'g-code-testing'
- name: 'cache yarn cache'
Expand Down
7 changes: 1 addition & 6 deletions .github/workflows/hardware-lint-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,8 @@ jobs:
with:
node-version: '12'

- name: Setup Python
uses: 'actions/setup-python@v4'
with:
python-version: '3.10'

- name: Setup Hardware Project
uses: './.github/actions/python/setup'
uses: './.github/actions/python/setup-uv'
with:
project: 'hardware'

Expand Down
79 changes: 0 additions & 79 deletions .github/workflows/http-docs-build.yaml

This file was deleted.

6 changes: 1 addition & 5 deletions .github/workflows/robot-server-lint-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,7 @@ jobs:
- uses: 'actions/setup-node@v4'
with:
node-version: '22.12.0'
- uses: 'actions/setup-python@v4'
with:
python-version: '3.10'

- uses: './.github/actions/python/setup'
- uses: './.github/actions/python/setup-uv'
with:
project: 'robot-server'
- if: ${{ matrix.with-ot-hardware == 'false' }}
Expand Down
11 changes: 2 additions & 9 deletions .github/workflows/server-utils-lint-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,7 @@ jobs:
- uses: 'actions/setup-node@v4'
with:
node-version: '22.12.0'
- uses: 'actions/setup-python@v4'
with:
python-version: '3.10'

- uses: './.github/actions/python/setup'
- uses: './.github/actions/python/setup-uv'
with:
project: 'server-utils'
- name: Lint
Expand All @@ -68,10 +64,7 @@ jobs:
- uses: 'actions/setup-node@v4'
with:
node-version: '22.12.0'
- uses: 'actions/setup-python@v4'
with:
python-version: '3.10'
- uses: './.github/actions/python/setup'
- uses: './.github/actions/python/setup-uv'
with:
project: 'server-utils'
- name: Test
Expand Down
Loading
Loading