chore: run the key server in dev backend #28694
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This workflow runs test and lint on branch pushes that touch the | |
| # robot-server project or its dependencies | |
| name: 'Robot server lint/test' | |
| on: | |
| # Most of the time, we run on pull requests, which lets us handle external PRs | |
| push: | |
| paths: | |
| - 'api/**/*' | |
| - 'hardware/**/*' | |
| - 'Makefile' | |
| - 'shared-data/**/*' | |
| - 'server-utils/**/*' | |
| - '!shared-data/js/**/*' | |
| - 'robot-server/**/*' | |
| - 'scripts/**/*.mk' | |
| - 'scripts/**/*.py' | |
| - '.github/workflows/robot-server-lint-test.yaml' | |
| - '.github/actions/python/**' | |
| branches: | |
| - 'edge' | |
| - 'release' | |
| - '*hotfix*' | |
| tags-ignore: | |
| - '*' | |
| pull_request: | |
| paths: | |
| - 'api/**/*' | |
| - 'hardware/**/*' | |
| - 'Makefile' | |
| - 'shared-data/**/*' | |
| - 'server-utils/**/*' | |
| - '!shared-data/js/**/*' | |
| - 'robot-server/**/*' | |
| - 'scripts/**/*.mk' | |
| - 'scripts/**/*.py' | |
| - '.github/workflows/robot-server-lint-test.yaml' | |
| - '.github/actions/python/**' | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ github.ref_name != 'edge' || github.run_id}}-${{ github.ref_type != 'tag' || github.run_id }} | |
| cancel-in-progress: true | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| lint: | |
| name: 'robot server package linting' | |
| timeout-minutes: 5 | |
| runs-on: 'ubuntu-24.04' | |
| strategy: | |
| matrix: | |
| with-ot-hardware: ['true', 'false'] | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 | |
| with: | |
| node-version: '22.22.0' | |
| - uses: './.github/actions/python/setup-uv' | |
| with: | |
| project: 'robot-server' | |
| - if: ${{ matrix.with-ot-hardware == 'false' }} | |
| name: Remove OT-3 hardware package | |
| run: make -C robot-server setup-ot2 | |
| - name: Lint | |
| run: make -C robot-server lint | |
| test-unit: | |
| name: 'robot server package unit testing (ot_hardware: ${{matrix.with-ot-hardware}})' | |
| timeout-minutes: 5 | |
| runs-on: 'ubuntu-24.04' | |
| strategy: | |
| matrix: | |
| with-ot-hardware: ['true', 'false'] | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 | |
| with: | |
| node-version: '22.22.0' | |
| - uses: './.github/actions/python/setup-uv' | |
| with: | |
| project: 'robot-server' | |
| - if: ${{ matrix.with-ot-hardware == 'false' }} | |
| name: Remove OT-3 hardware package | |
| run: make -C robot-server setup-ot2 | |
| - if: ${{ matrix.with-ot-hardware == 'false' }} | |
| name: Test without opentrons_hardware | |
| run: make -C robot-server test-unit-cov test_opts="-m 'not ot3_only'" | |
| - if: ${{ matrix.with-ot-hardware == 'true' }} | |
| name: Test with opentrons_hardware | |
| run: make -C robot-server test-unit-cov | |
| - name: Upload coverage report | |
| uses: codecov/codecov-action@ab904c41d6ece82784817410c45d8b8c02684457 # v3 | |
| with: | |
| files: ./robot-server/coverage.xml | |
| flags: robot-server | |
| test-integration: | |
| name: 'robot server package integration testing (ot_hardware: ${{matrix.with-ot-hardware}})' | |
| timeout-minutes: 40 | |
| runs-on: 'ubuntu-24.04' | |
| strategy: | |
| matrix: | |
| with-ot-hardware: ['true', 'false'] | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6 | |
| with: | |
| node-version: '22.22.0' | |
| - uses: './.github/actions/python/setup-uv' | |
| with: | |
| project: 'robot-server' | |
| - if: ${{ matrix.with-ot-hardware == 'false' }} | |
| name: Remove OT-3 hardware package | |
| run: make -C robot-server setup-ot2 | |
| - if: ${{ matrix.with-ot-hardware == 'false' }} | |
| name: Test without opentrons_hardware | |
| run: make -C robot-server test-integration-cov test_opts="-m 'not ot3_only'" | |
| - if: ${{ matrix.with-ot-hardware == 'true' }} | |
| name: Test with opentrons_hardware | |
| run: make -C robot-server test-integration-cov | |
| - name: Upload coverage report | |
| uses: codecov/codecov-action@ab904c41d6ece82784817410c45d8b8c02684457 # v3 | |
| with: | |
| files: ./robot-server/coverage.xml | |
| flags: robot-server |