forked from viamrobotics/rdk
-
Notifications
You must be signed in to change notification settings - Fork 0
72 lines (66 loc) · 2.38 KB
/
test-module-generation.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
name: Test Template Generators
on:
workflow_dispatch:
jobs:
generate_and_run_module:
if: github.repository_owner == 'viamrobotics'
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
language: ["python", "go"]
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: "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 \
--name "my-module" \
--language "${{ matrix.language }}" \
--public-namespace "my-org" \
--resource-subtype "${{ matrix.resource.subtype }}" \
--resource-type "${{ matrix.resource.type }}" \
--model-name "model-name" \
--dry-run
- name: Run module
run: |
cd my-module
./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