Skip to content

Commit fb15a7c

Browse files
committed
Adds build actions
1 parent 1684961 commit fb15a7c

File tree

4 files changed

+223
-0
lines changed

4 files changed

+223
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: 3D Visualiser Build and Test
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
paths:
7+
- '3d-visualiser/**'
8+
- '.github/workflows/3d-visualiser.yml'
9+
pull_request:
10+
branches: [ main, develop ]
11+
paths:
12+
- '3d-visualiser/**'
13+
- '.github/workflows/3d-visualiser.yml'
14+
15+
jobs:
16+
build-and-test:
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- name: Checkout code
21+
uses: actions/checkout@v4
22+
23+
- name: Setup Node.js
24+
uses: actions/setup-node@v4
25+
with:
26+
node-version: '18'
27+
cache: 'npm'
28+
cache-dependency-path: 3d-visualiser/package-lock.json
29+
30+
- name: Install dependencies
31+
working-directory: ./3d-visualiser
32+
run: npm ci
33+
34+
- name: Type check
35+
working-directory: ./3d-visualiser
36+
run: npx tsc --noEmit
37+
38+
- name: Build project
39+
working-directory: ./3d-visualiser
40+
run: npm run build
41+
42+
- name: Upload build artifacts
43+
uses: actions/upload-artifact@v4
44+
with:
45+
name: 3d-visualiser-dist
46+
path: 3d-visualiser/dist/
47+
retention-days: 7

.github/workflows/frontend.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Frontend Build and Test
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
paths:
7+
- 'frontend/**'
8+
- '.github/workflows/frontend.yml'
9+
pull_request:
10+
branches: [ main, develop ]
11+
paths:
12+
- 'frontend/**'
13+
- '.github/workflows/frontend.yml'
14+
15+
jobs:
16+
build-and-test:
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- name: Checkout code
21+
uses: actions/checkout@v4
22+
23+
- name: Setup Node.js
24+
uses: actions/setup-node@v4
25+
with:
26+
node-version: '18'
27+
cache: 'npm'
28+
cache-dependency-path: frontend/package-lock.json
29+
30+
- name: Install dependencies
31+
working-directory: ./frontend
32+
run: npm ci
33+
34+
- name: Type check
35+
working-directory: ./frontend
36+
run: npx tsc --noEmit
37+
38+
- name: Build project
39+
working-directory: ./frontend
40+
run: npm run build
41+
42+
- name: Upload build artifacts
43+
uses: actions/upload-artifact@v4
44+
with:
45+
name: frontend-dist
46+
path: frontend/dist/
47+
retention-days: 7

.github/workflows/serial-mic.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Serial Mic Build and Test
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
paths:
7+
- 'serial-mic/**'
8+
- '.github/workflows/serial-mic.yml'
9+
pull_request:
10+
branches: [ main, develop ]
11+
paths:
12+
- 'serial-mic/**'
13+
- '.github/workflows/serial-mic.yml'
14+
15+
jobs:
16+
build:
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- name: Checkout code
21+
uses: actions/checkout@v4
22+
23+
- name: Setup Python
24+
uses: actions/setup-python@v4
25+
with:
26+
python-version: '3.11'
27+
28+
- name: Install PlatformIO Core
29+
run: |
30+
pip install platformio
31+
pio --version
32+
33+
- name: Build project
34+
working-directory: ./serial-mic
35+
run: pio run
36+
37+
- name: Upload build artifacts
38+
uses: actions/upload-artifact@v4
39+
with:
40+
name: serial-mic-firmware
41+
path: serial-mic/.pio/build/esp32-s3-devkitc-1/firmware.bin
42+
retention-days: 7
43+
44+
test:
45+
runs-on: ubuntu-latest
46+
needs: build
47+
48+
steps:
49+
- name: Checkout code
50+
uses: actions/checkout@v4
51+
52+
- name: Setup Python
53+
uses: actions/setup-python@v4
54+
with:
55+
python-version: '3.11'
56+
57+
- name: Install PlatformIO Core
58+
run: |
59+
pip install platformio
60+
pio --version
61+
62+
- name: Run tests
63+
working-directory: ./serial-mic
64+
run: pio test

.github/workflows/usb-audio.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: USB Audio Build and Test
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
paths:
7+
- 'usb-audio/**'
8+
- '.github/workflows/usb-audio.yml'
9+
pull_request:
10+
branches: [ main, develop ]
11+
paths:
12+
- 'usb-audio/**'
13+
- '.github/workflows/usb-audio.yml'
14+
15+
jobs:
16+
build:
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- name: Checkout code
21+
uses: actions/checkout@v4
22+
with:
23+
submodules: recursive
24+
25+
- name: Setup ESP-IDF
26+
uses: espressif/setup-esp-idf@v1
27+
with:
28+
esp-idf-version: 'v5.1.2'
29+
target: 'esp32s3'
30+
31+
- name: Build project
32+
working-directory: ./usb-audio
33+
run: |
34+
idf.py build
35+
36+
- name: Upload build artifacts
37+
uses: actions/upload-artifact@v4
38+
with:
39+
name: usb-audio-firmware
40+
path: usb-audio/build/usb-mic2.bin
41+
retention-days: 7
42+
43+
test:
44+
runs-on: ubuntu-latest
45+
needs: build
46+
47+
steps:
48+
- name: Checkout code
49+
uses: actions/checkout@v4
50+
with:
51+
submodules: recursive
52+
53+
- name: Setup ESP-IDF
54+
uses: espressif/setup-esp-idf@v1
55+
with:
56+
esp-idf-version: 'v5.1.2'
57+
target: 'esp32s3'
58+
59+
- name: Run tests
60+
working-directory: ./usb-audio
61+
run: |
62+
# Run any available tests
63+
if [ -f "pytest_hello_world.py" ]; then
64+
python -m pytest pytest_hello_world.py -v
65+
fi

0 commit comments

Comments
 (0)