-
Notifications
You must be signed in to change notification settings - Fork 0
144 lines (103 loc) · 3.46 KB
/
testing.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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
name: 'Testing'
on:
pull_request:
push:
branches:
- main
jobs:
proto-generation:
runs-on: ubuntu-latest
steps:
- name: Checkout (GitHub)
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Installing requirements
run: pip3 install -r requirements_dev.txt
- name: Generating payload code
run: |
protoc --proto_path=./messages --python_out=/tmp --cpp_out=/tmp ./messages/*.proto
protoc --proto_path=./messages/payloads --python_out=/tmp --cpp_out=/tmp ./messages/payloads/*.proto
- name: Generating interface code
run: |
protoc --proto_path=./interfaces --python_out=/tmp --cpp_out=/tmp ./interfaces/*.proto
protoc --proto_path=./interfaces/common --python_out=/tmp --cpp_out=/tmp ./interfaces/common/*.proto
python-sdk-linting:
runs-on: ubuntu-latest
steps:
- name: Checkout (GitHub)
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Installing requirements
run: pip3 install -r requirements_dev.txt
- name: Linting sdk
run: |
black --check --verbose sdks/python --extend-exclude _pb2.py
python-sdk-testing:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- name: Checkout (GitHub)
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Installing requirements
run: pip3 install -r requirements_dev.txt
- name: Testing with pytest
run: |
pytest -vv sdks/python/tests
javascript-sdk-testing:
runs-on: ubuntu-latest
steps:
- name: Checkout (GitHub)
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Installing protoc (through python)
run: pip3 install -r requirements_dev.txt
- name: Install dependencies
run: (cd sdks/js && npm ci)
- name: Generate code
run: (cd sdks/js && ./generate_javascript.sh)
- name: Run tests
run: (cd sdks/js && npm run test)
# python-connectors-linting:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout (GitHub)
# uses: actions/checkout@v3
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: '3.12'
# - name: Installing requirements
# run: pip3 install -r requirements_dev.txt
# - name: Linting connectors
# run: |
# black --check --verbose connectors/*/bin/* --force-exclude .odvd
docker-image-test:
runs-on: ubuntu-latest
steps:
- name: Checkout (GitHub)
uses: actions/checkout@v3
- name: Build docker image
run: |
docker build -t keelson-ci-image .
- name: Test calling one of the connectors
run: |
docker run keelson-ci-image "mcap-record --help"