Skip to content

Commit

Permalink
update actions
Browse files Browse the repository at this point in the history
  • Loading branch information
ahiuchingau committed Jan 18, 2024
1 parent 3a399a8 commit a5e150a
Show file tree
Hide file tree
Showing 21 changed files with 316 additions and 1,426 deletions.
34 changes: 34 additions & 0 deletions .github/actions/main-setup/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: ot3-firmware Repo Setup
description: Setup for ot3-firmware Github Actions

inputs:
cache-version:
description: CACHE_VERSION from secrets
required: true

runs:
using: composite
steps:
- name: Update and install gcc-10 & g++-10
shell: bash
run: |
sudo apt update
sudo apt install -y gcc-10 g++-10
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Cache STM32 Tools
uses: actions/cache@v3
id: cache-tools
with:
path: ${{ env.DEFAULT_DIRECTORY }}/stm32-tools
key: ${{ runner.os }}-${{ hashFiles('**/cmake/*') }}-${{ inputs.cache-version }}

- name: Setup opentrons monorepo
uses: actions/checkout@v4
with:
repository: opentrons/opentrons
path: opentrons
77 changes: 0 additions & 77 deletions .github/workflows/bootloader.yaml

This file was deleted.

74 changes: 74 additions & 0 deletions .github/workflows/build-simulators.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: "build simulators"
on:
push:
branches:
- "*"
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true

defaults:
run:
shell: bash
working-directory: ot3-firmware

jobs:
build-simulators:
strategy:
matrix:
target: [
bootloader,
gantry-x,
gantry-y,
gripper,
head,
hepa-uv,
pipettes-single,
pipettes-multi,
pipettes-96,
]
name: ${{ matrix.target }} simulator
runs-on: "ubuntu-20.04"
timeout-minutes: 10
steps:
- name: Checkout ot3-firmware repo
uses: actions/checkout@v4
with:
path: ot3-firmware

- name: Checkout github actions directory
uses: actions/checkout@v4
with:
sparse-checkout: |
.github/actions
sparse-checkout-cone-mode: false
path: actions

- name: Setup main
uses: ./actions/.github/actions/main-setup
with:
cache-version: ${{ secrets.CACHE_VERSION }}

- name: Configure
run: cmake --preset=host-gcc10 .

- name: setup state manager
run: cmake --build ./build-host --target state-manager-setup

- name: Build Simulator
run: cmake --build ./build-host --target ${{ matrix.target }}-simulator

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.target }}-simulator-${{ github.ref_name }}
path: |
${{
format(
'ot3-firmware/build-host/{0}/simulator/{1}-simulator',
contains(matrix.target, 'gantry') && 'gantry' || contains(matrix.target, 'pipettes') && 'pipettes' || matrix.target,
matrix.target
)
}}
45 changes: 45 additions & 0 deletions .github/workflows/build-tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: "build-and-test"
on:
push:
branches:
- "*"
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true

defaults:
run:
shell: bash
working-directory: ot3-firmware

jobs:
build-and-test:
name: Run all tests
runs-on: "ubuntu-20.04"
timeout-minutes: 10
steps:
- name: Checkout ot3-firmware repo
uses: actions/checkout@v4
with:
path: ot3-firmware

- name: Checkout github actions directory
uses: actions/checkout@v4
with:
sparse-checkout: |
.github/actions
sparse-checkout-cone-mode: false
path: actions

- name: Setup main
uses: ./actions/.github/actions/main-setup
with:
cache-version: ${{ secrets.CACHE_VERSION }}

- name: Configure
run: cmake --preset=host-gcc10 .

- name: Test
run: cmake --build ./build-host --target build-and-test
75 changes: 0 additions & 75 deletions .github/workflows/can.yaml

This file was deleted.

56 changes: 35 additions & 21 deletions .github/workflows/codecov.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,43 +12,57 @@ env:
defaults:
run:
shell: bash
working-directory: ot3-firmware

concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true

jobs:
generate-coverage:
name: 'Generate-Coverage'
runs-on: 'ubuntu-20.04'
timeout-minutes: 10
env:
CC: gcc-10
CXX: g++-10
steps:
- run: |
sudo apt update
sudo apt install gcc-10 g++-10 lcov
- uses: actions/setup-python@v4
- name: Checkout ot3-firmware repo
uses: actions/checkout@v4
with:
python-version: '3.10'
- name: 'Install lcov_cobertura module'
run: pip install lcov_cobertura
- uses: 'actions/checkout@v2'
path: ot3-firmware

- name: Checkout github actions directory
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: "actions/cache@v3"
sparse-checkout: |
.github/actions
sparse-checkout-cone-mode: false
path: actions

- name: Setup main
uses: ./actions/.github/actions/main-setup
with:
path: "./stm32-tools"
key: ${{ runner.os }}-${{ hashFiles('**/cmake/*') }}-${{ secrets.CACHE_VERSION }}
- name: 'Configure'
cache-version: ${{ secrets.CACHE_VERSION }}

- name: Install LCOV
run: sudo apt install -y lcov

- name: Install lcov_cobertura module
run: pip install lcov_cobertura

- name: Configure
run: cmake --preset=host-gcc10 -DENABLE_COVERAGE=On -DCMAKE_BUILD_TYPE=Debug
- name: 'Run all tests'

- name: Run all tests
run: cmake --build --preset tests
- name: 'Generate coverage'

- name: Generate coverage
run: cmake --build --preset tests --target lcov-geninfo
- name: 'Convert coverage to xml'
run: lcov_cobertura build-host/lcov/data/capture/all_targets.info

- name: Convert coverage to xml
run: lcov_cobertura ot3-firmware/build-host/lcov/data/capture/all_targets.info

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
files: ./coverage.xml
files: ot3-firmware/coverage.xml
name: codecov-ot3-firmware
fail_ci_if_error: true
Loading

0 comments on commit a5e150a

Please sign in to comment.