Skip to content

RSDK-8557: test module generator output #43

RSDK-8557: test module generator output

RSDK-8557: test module generator output #43

name: Test Template Generators
on:
workflow_dispatch:
pull_request:
branches:
- main
- "module-generation-cli"
jobs:
generate_and_run_module:
# if: github.repository_owner == 'viamrobotics'
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
resource: [
{ subtype: "arm", type: "component" },
{ subtype: "audio_input", type: "component" },
{ subtype: "base", type: "component" },
{ subtype: "board", type: "component" },
{ subtype: "camera", type: "component" },
{ subtype: "encoder", type: "component" },
{ subtype: "gantry", type: "component" },
{ subtype: "generic", type: "component" },
{ subtype: "gripper", type: "component" },
# { subtype: "input", type: "component" },
{ subtype: "motor", type: "component" },
{ subtype: "movement_sensor", type: "component" },
{ subtype: "pose_tracker", type: "component" },
{ subtype: "power_sensor", type: "component" },
{ subtype: "sensor", type: "component" },
{ subtype: "servo", type: "component" },
{ subtype: "generic", type: "service" },
# { subtype: "mlmodel", type: "service" },
{ subtype: "motion", type: "service" },
{ subtype: "navigation", type: "service" },
{ subtype: "sensors", type: "service" },
{ subtype: "slam", type: "service" },
{ subtype: "vision", type: "service" },
]
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Go environment
uses: actions/setup-go@v5
with:
go-version-file: go.mod
- name: Run module generator
run: go run ./cli/viam --debug module generate --resource-subtype "${{ matrix.resource.subtype }}" --resource-type "${{ matrix.resource.type }}"
- name: Run module
run: |
cd my-module
chmod +x run.sh
./run.sh /tmp/viam.sock &
PID=$!
sleep 5
if ps -p $PID > /dev/null; then
echo "Module is running."
kill -SIGTERM $PID
else
echo "Module failed to start."
exit 1
fi