-
-
Notifications
You must be signed in to change notification settings - Fork 0
134 lines (130 loc) · 4.27 KB
/
Copy pathtests.yml
File metadata and controls
134 lines (130 loc) · 4.27 KB
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
name: tests
on:
push:
pull_request:
jobs:
host-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
path: ESPressio-Event
- uses: actions/checkout@v4
with:
repository: Flowduino/ESPressio-Observable
ref: 3.0.1
path: ESPressio-Observable
- uses: actions/checkout@v4
with:
repository: Flowduino/ESPressio-Timing
ref: 2.2.4
path: ESPressio_Timing
- uses: actions/checkout@v4
with:
repository: Flowduino/ESPressio-Units
ref: 0.2.3
path: ESPressio-Units
- name: Configure
run: cmake -S ESPressio-Event/tests -B build
- name: Build
run: cmake --build build --parallel
- name: Test
run: ctest --test-dir build --output-on-failure
esp32-compile:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
path: project/ESPressio-Event
- uses: actions/checkout@v4
with:
repository: Flowduino/ESPressio-Observable
ref: 3.0.1
path: project/dependencies/ESPressio-Observable
- uses: actions/checkout@v4
with:
repository: Flowduino/ESPressio-Units
ref: 0.2.3
path: project/dependencies/ESPressio-Units
- uses: actions/checkout@v4
with:
repository: Flowduino/ESPressio-Timing
ref: 2.2.4
path: project/dependencies/ESPressio-Timing
- uses: actions/checkout@v4
with:
repository: Flowduino/ESPressio-Threads
ref: 3.1.4
path: project/dependencies/ESPressio-Threads
- uses: actions/checkout@v4
with:
repository: Flowduino/ESPressio-Serializable
ref: 0.10.2
path: project/dependencies/ESPressio-Serializable
- uses: actions/checkout@v4
with:
repository: Flowduino/ESPressio-Security
ref: 0.2.0
path: project/dependencies/ESPressio-Security
- uses: actions/checkout@v4
with:
repository: Flowduino/ESPressio-Command
ref: 0.3.0
path: project/dependencies/ESPressio-Command
- uses: actions/checkout@v4
with:
repository: Flowduino/ESPressio-Sockets
ref: 0.5.0
path: project/dependencies/ESPressio-Sockets
- uses: actions/checkout@v4
with:
repository: Flowduino/ESPressio-ESP-Now
ref: 0.5.3
path: project/dependencies/ESPressio-ESP-Now
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install PlatformIO
run: pip install platformio
- name: Create bridge compile project
shell: bash
run: |
mkdir -p project/compile/src
cat > project/compile/platformio.ini <<'EOF'
[env:esp32]
platform = espressif32
board = esp32dev
framework = arduino
build_flags =
-std=gnu++17
-frtti
-I../dependencies/ESPressio-Security/src
-I../dependencies/ESPressio-Command/src
-I../dependencies/ESPressio-Sockets/src
-I../dependencies/ESPressio-ESP-Now/src
build_unflags =
-std=gnu++11
-fno-rtti
lib_ldf_mode = deep+
lib_deps =
../dependencies/ESPressio-Observable
../dependencies/ESPressio-Units
../dependencies/ESPressio-Timing
../dependencies/ESPressio-Threads
../dependencies/ESPressio-Serializable
../ESPressio-Event
EOF
cat > project/compile/src/main.cpp <<'EOF'
#include <Arduino.h>
#include <WiFi.h>
#include <ESPressio_EventTransport.hpp>
#include <ESPressio_TransportSecurityEventBridge.hpp>
#include <ESPressio_CommandRegistryEventBridge.hpp>
#include <ESPressio_SocketWorkerEventBridge.hpp>
#include <ESPressio_SocketSecuritySessionEventBridge.hpp>
#include <ESPressio_ESPNowTransportEventBridge.hpp>
void setup() {}
void loop() {}
EOF
- name: Compile ESP32 Event Transport and optional bridges
run: pio run -d project/compile