Skip to content

Commit a705ae5

Browse files
committed
Merge branch '0_15'
2 parents 9a564ee + e8d9891 commit a705ae5

File tree

233 files changed

+24089
-23161
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

233 files changed

+24089
-23161
lines changed

.devcontainer/devcontainer.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,21 @@
1212
}
1313
},
1414

15+
// To give the container access to a device serial port, you can uncomment one of the following lines.
16+
// Note: If running on Windows, you will have to do some additional steps:
17+
// https://stackoverflow.com/questions/68527888/how-can-i-use-a-usb-com-port-inside-of-a-vscode-development-container
18+
//
19+
// You can explicitly just forward the port you want to connect to. Replace `/dev/ttyACM0` with the serial port for
20+
// your device. This will only work if the device is plugged in from the start without reconnecting. Adding the
21+
// `dialout` group is needed if read/write permisions for the port are limitted to the dialout user.
22+
// "runArgs": ["--device=/dev/ttyACM0", "--group-add", "dialout"],
23+
//
24+
// Alternatively, you can give more comprehensive access to the host system. This will expose all the host devices to
25+
// the container. Adding the `dialout` group is needed if read/write permisions for the port are limitted to the
26+
// dialout user. This could allow the container to modify unrelated serial devices, which would be a similar level of
27+
// risk to running the build directly on the host.
28+
// "runArgs": ["--privileged", "-v", "/dev/bus/usb:/dev/bus/usb", "--group-add", "dialout"],
29+
1530
// Set *default* container specific settings.json values on container create.
1631
"settings": {
1732
"terminal.integrated.shell.linux": "/bin/bash",

.github/workflows/build.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: WLED Build
2+
3+
# Only included into other workflows
4+
on:
5+
workflow_call:
6+
7+
jobs:
8+
9+
get_default_envs:
10+
name: Gather Environments
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- uses: actions/setup-python@v5
15+
with:
16+
python-version: '3.12'
17+
cache: 'pip'
18+
- name: Install PlatformIO
19+
run: pip install -r requirements.txt
20+
- name: Get default environments
21+
id: envs
22+
run: |
23+
echo "environments=$(pio project config --json-output | jq -cr '.[0][1][0][1]')" >> $GITHUB_OUTPUT
24+
outputs:
25+
environments: ${{ steps.envs.outputs.environments }}
26+
27+
28+
build:
29+
name: Build Enviornments
30+
runs-on: ubuntu-latest
31+
needs: get_default_envs
32+
strategy:
33+
fail-fast: false
34+
matrix:
35+
environment: ${{ fromJSON(needs.get_default_envs.outputs.environments) }}
36+
steps:
37+
- uses: actions/checkout@v4
38+
- name: Set up Node.js
39+
uses: actions/setup-node@v4
40+
with:
41+
cache: 'npm'
42+
- run: npm ci
43+
- name: Cache PlatformIO
44+
uses: actions/cache@v4
45+
with:
46+
path: |
47+
~/.platformio/.cache
48+
~/.buildcache
49+
build_output
50+
key: pio-${{ runner.os }}-${{ matrix.environment }}-${{ hashFiles('platformio.ini', 'pio-scripts/output_bins.py') }}-${{ hashFiles('wled00/**', 'usermods/**') }}
51+
restore-keys: pio-${{ runner.os }}-${{ matrix.environment }}-${{ hashFiles('platformio.ini', 'pio-scripts/output_bins.py') }}-
52+
- name: Set up Python
53+
uses: actions/setup-python@v5
54+
with:
55+
python-version: '3.12'
56+
cache: 'pip'
57+
- name: Install PlatformIO
58+
run: pip install -r requirements.txt
59+
- name: Build firmware
60+
run: pio run -e ${{ matrix.environment }}
61+
- uses: actions/upload-artifact@v4
62+
with:
63+
name: firmware-${{ matrix.environment }}
64+
path: |
65+
build_output/release/*.bin
66+
build_output/release/*_ESP02*.bin.gz
67+
68+
69+
testCdata:
70+
name: Test cdata.js
71+
runs-on: ubuntu-latest
72+
steps:
73+
- uses: actions/checkout@v4
74+
- name: Use Node.js
75+
uses: actions/setup-node@v4
76+
with:
77+
node-version: '20.x'
78+
cache: 'npm'
79+
- run: npm ci
80+
- run: npm test

.github/workflows/release.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: WLED Release CI
2+
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
8+
jobs:
9+
10+
wled_build:
11+
uses: ./.github/workflows/build.yml
12+
13+
release:
14+
name: Create Release
15+
runs-on: ubuntu-latest
16+
needs: wled_build
17+
steps:
18+
- uses: actions/download-artifact@v4
19+
with:
20+
merge-multiple: true
21+
- name: Create draft release
22+
uses: softprops/action-gh-release@v1
23+
with:
24+
draft: True
25+
files: |
26+
*.bin
27+
*.bin.gz
28+

.github/workflows/wled-ci.yml

Lines changed: 8 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,91 +1,11 @@
1-
name: PlatformIO CI
1+
name: WLED CI
22

3-
on: [push, pull_request]
3+
on:
4+
push:
5+
branches:
6+
- '*'
7+
pull_request:
48

59
jobs:
6-
7-
get_default_envs:
8-
name: Gather Environments
9-
runs-on: ubuntu-latest
10-
steps:
11-
- uses: actions/checkout@v3
12-
- name: Cache pip
13-
uses: actions/cache@v3
14-
with:
15-
path: ~/.cache/pip
16-
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
17-
restore-keys: |
18-
${{ runner.os }}-pip-
19-
- uses: actions/setup-python@v4
20-
with:
21-
python-version: '3.9'
22-
- name: Install PlatformIO
23-
run: pip install -r requirements.txt
24-
- name: Get default environments
25-
id: envs
26-
run: |
27-
echo "environments=$(pio project config --json-output | jq -cr '.[0][1][0][1]')" >> $GITHUB_OUTPUT
28-
outputs:
29-
environments: ${{ steps.envs.outputs.environments }}
30-
31-
32-
build:
33-
name: Build Enviornments
34-
runs-on: ubuntu-latest
35-
needs: get_default_envs
36-
strategy:
37-
fail-fast: false
38-
matrix:
39-
environment: ${{ fromJSON(needs.get_default_envs.outputs.environments) }}
40-
steps:
41-
- uses: actions/checkout@v3
42-
- name: Cache pip
43-
uses: actions/cache@v3
44-
with:
45-
path: ~/.cache/pip
46-
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
47-
restore-keys: |
48-
${{ runner.os }}-pip-
49-
- name: Cache PlatformIO
50-
uses: actions/cache@v3
51-
with:
52-
path: ~/.platformio
53-
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
54-
- name: Set up Python
55-
uses: actions/setup-python@v4
56-
with:
57-
python-version: '3.9'
58-
- name: Install PlatformIO
59-
run: pip install -r requirements.txt
60-
- name: Build firmware
61-
env:
62-
WLED_RELEASE: True
63-
run: pio run -e ${{ matrix.environment }}
64-
- uses: actions/upload-artifact@v2
65-
with:
66-
name: firmware-${{ matrix.environment }}
67-
path: |
68-
build_output/firmware/*.bin
69-
build_output/firmware/*.gz
70-
- uses: actions/upload-artifact@v2
71-
if: startsWith(github.ref, 'refs/tags/')
72-
with:
73-
name: firmware-release
74-
path: build_output/release/*.bin
75-
release:
76-
name: Create Release
77-
runs-on: ubuntu-latest
78-
needs: [get_default_envs, build]
79-
if: startsWith(github.ref, 'refs/tags/')
80-
steps:
81-
- uses: actions/download-artifact@v2
82-
with:
83-
name: firmware-release
84-
- name: Create draft release
85-
uses: softprops/action-gh-release@v1
86-
with:
87-
draft: True
88-
files: |
89-
*.bin
90-
env:
91-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
10+
wled_build:
11+
uses: ./.github/workflows/build.yml

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
.clang-format
33
.direnv
44
.DS_Store
5-
.gitignore
65
.idea
76
.pio
87
.pioenvs
@@ -22,3 +21,4 @@ wled-update.sh
2221
/wled00/my_config.h
2322
/wled00/Release
2423
/wled00/wled00.ino.cpp
24+
/wled00/html_*.h

.vscode/tasks.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99
],
1010
"dependsOrder": "sequence",
1111
"problemMatcher": [
12-
"$platformio",
13-
],
12+
"$platformio"
13+
]
1414
},
1515
{
1616
"type": "PlatformIO",
1717
"label": "Build: binary only",
1818
"task": "Build",
1919
"group": {
2020
"kind": "build",
21-
"isDefault": true,
21+
"isDefault": true
2222
},
2323
"problemMatcher": [
2424
"$platformio"

0 commit comments

Comments
 (0)