Skip to content

Commit ad9804a

Browse files
committed
Merge remote-tracking branch 'origin/master' into ota/lifetime
2 parents d1a60b1 + 27c0591 commit ad9804a

File tree

84 files changed

+2019
-1116
lines changed

Some content is hidden

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

84 files changed

+2019
-1116
lines changed

.github/workflows/build-host.yml

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Run host test suite under valgrind for runtime checking of code.
2+
# Also, a quick test that the mocking builds work at all
3+
4+
name: Build on host OS
5+
6+
on:
7+
pull_request:
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
host-tests:
14+
name: Tests
15+
runs-on: ubuntu-latest
16+
defaults:
17+
run:
18+
shell: bash
19+
steps:
20+
- uses: actions/checkout@v3
21+
with:
22+
submodules: true
23+
- run: |
24+
sudo apt update
25+
sudo apt install valgrind lcov
26+
bash ./tests/ci/host_test.sh
27+
28+
mock-check:
29+
name: Mock
30+
runs-on: ubuntu-latest
31+
defaults:
32+
run:
33+
shell: bash
34+
steps:
35+
- uses: actions/checkout@v3
36+
with:
37+
submodules: true
38+
- run: |
39+
cd tests/host
40+
make -j ../../libraries/ESP8266WebServer/examples/FSBrowser/FSBrowser

.github/workflows/build-ide.yml

+91
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Cross-platform builds to ensure our Core and toolchain works
2+
3+
name: Build IDE examples
4+
5+
on:
6+
pull_request:
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
13+
# Examples are built in parallel to avoid CI total job time limitation
14+
15+
build-linux:
16+
name: Linux - LwIP ${{ matrix.lwip }} (${{ matrix.chunk }})
17+
runs-on: ubuntu-latest
18+
defaults:
19+
run:
20+
shell: bash
21+
strategy:
22+
matrix:
23+
lwip: ["default", "IPv6"]
24+
chunk: [0, 1, 2, 3, 4, 5, 6, 7]
25+
steps:
26+
- uses: actions/checkout@v3
27+
with:
28+
submodules: true
29+
- uses: actions/setup-python@v4
30+
with:
31+
python-version: '3.x'
32+
- uses: actions/cache@v3
33+
with:
34+
path: ./tools/dist
35+
key: ${{ runner.os }}-${{ hashFiles('package/package_esp8266com_index.template.json', 'tests/common.sh', 'tests/build.sh') }}
36+
- name: Build Sketches
37+
env:
38+
ESP8266_ARDUINO_BUILDER: "arduino"
39+
ESP8266_ARDUINO_IDE: "${{ runner.temp }}/arduino_ide"
40+
ESP8266_ARDUINO_LWIP: ${{ matrix.lwip }}
41+
run: |
42+
bash ./tests/build.sh 8 ${{ matrix.chunk }}
43+
44+
# Just try to build at least one sketch, since we spend so much time with the matrix above
45+
46+
build-windows:
47+
name: Windows
48+
runs-on: windows-latest
49+
steps:
50+
- uses: actions/checkout@v3
51+
with:
52+
submodules: false
53+
- uses: actions/setup-python@v4
54+
with:
55+
python-version: '3.x'
56+
- uses: actions/cache@v3
57+
with:
58+
path: ./tools/dist
59+
key: ${{ runner.os }}-${{ hashFiles('package/package_esp8266com_index.template.json', 'tests/common.sh', 'tests/build.sh') }}
60+
- name: Build Sketch
61+
env:
62+
ESP8266_ARDUINO_HARDWARE: "${{ runner.temp }}/hardware"
63+
ESP8266_ARDUINO_IDE: "${{ runner.temp }}/arduino_ide"
64+
ESP8266_ARDUINO_SKETCHES: "libraries/esp8266/examples/Blink/Blink.ino"
65+
run: |
66+
bash ./tests/build.sh
67+
68+
build-mac:
69+
name: macOS
70+
runs-on: macOS-latest
71+
defaults:
72+
run:
73+
shell: bash
74+
steps:
75+
- uses: actions/checkout@v3
76+
with:
77+
submodules: false
78+
- uses: actions/setup-python@v4
79+
with:
80+
python-version: '3.x'
81+
- uses: actions/cache@v3
82+
with:
83+
path: ./tools/dist
84+
key: ${{ runner.os }}-${{ hashFiles('package/package_esp8266com_index.template.json', 'tests/common.sh', 'tests/build.sh') }}
85+
- name: Build Sketch
86+
env:
87+
ESP8266_ARDUINO_HARDWARE: "${{ runner.temp }}/hardware"
88+
ESP8266_ARDUINO_IDE: "${{ runner.temp }}/arduino_ide"
89+
ESP8266_ARDUINO_SKETCHES: "libraries/esp8266/examples/Blink/Blink.ino"
90+
run: |
91+
bash ./tests/build.sh
+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# We do not distribute any environment settings, so just try to build some sketches
2+
# using the 'master' branch and using the uploaded toolchain version via get.py
3+
# Also, limit the amount of sketches and simply
4+
5+
name: Build examples with PlatformIO
6+
7+
on:
8+
pull_request:
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
build-pio:
15+
name: Linux (random sketches)
16+
runs-on: ubuntu-latest
17+
defaults:
18+
run:
19+
shell: bash
20+
steps:
21+
- uses: actions/checkout@v3
22+
with:
23+
submodules: true
24+
- uses: actions/setup-python@v4
25+
with:
26+
python-version: '3.x'
27+
- uses: actions/cache@v3
28+
with:
29+
path: |
30+
tools/dist
31+
~/.cache/pip
32+
~/.platformio/.cache
33+
key: ${{ runner.os }}-${{ hashFiles('package/package_esp8266com_index.template.json', 'tests/common.sh', 'tests/build.sh') }}
34+
- name: Build
35+
env:
36+
ESP8266_ARDUINO_BUILDER: "platformio"
37+
run: |
38+
pip install -U platformio
39+
env ESP8266_ARDUINO_SKETCHES="$(find libraries/ -name '*.ino' | shuf -n 10 -)" bash ./tests/build.sh
+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Ensure no manual edits happen to our autogenerated files
2+
3+
name: Check autogenerated files
4+
5+
on:
6+
pull_request:
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
pkgrefs-check:
13+
name: .json template
14+
runs-on: ubuntu-latest
15+
defaults:
16+
run:
17+
shell: bash
18+
steps:
19+
- uses: actions/checkout@v3
20+
with:
21+
submodules: false
22+
- run: |
23+
bash ./tests/ci/pkgrefs_test.sh
24+
25+
eboot-check:
26+
name: eboot .elf
27+
runs-on: ubuntu-latest
28+
defaults:
29+
run:
30+
shell: bash
31+
steps:
32+
- uses: actions/checkout@v3
33+
with:
34+
submodules: false
35+
- uses: actions/setup-python@v4
36+
with:
37+
python-version: '3.x'
38+
- uses: actions/cache@v3
39+
with:
40+
path: ./tools/dist
41+
key: ${{ runner.os }}-${{ hashFiles('package/package_esp8266com_index.template.json', 'tests/common.sh') }}
42+
- run: |
43+
# ^ reuse toolchain cache from our linux build job
44+
git submodule update --init --remote tools/sdk/uzlib
45+
bash ./tests/ci/eboot_test.sh
46+
47+
boards-txt-check:
48+
name: boards.txt.py
49+
runs-on: ubuntu-latest
50+
defaults:
51+
run:
52+
shell: bash
53+
steps:
54+
- uses: actions/checkout@v3
55+
with:
56+
submodules: false
57+
- uses: actions/setup-python@v4
58+
with:
59+
python-version: '3.x'
60+
- name: Check git-diff result
61+
run: |
62+
bash ./tests/ci/build_boards.sh

.github/workflows/documentation.yml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Ensure Sphinx can build the documentation properly.
2+
3+
name: Documentation
4+
5+
on:
6+
pull_request:
7+
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
documentation:
13+
name: Sphinx build
14+
runs-on: ubuntu-latest
15+
defaults:
16+
run:
17+
shell: bash
18+
steps:
19+
- uses: actions/checkout@v3
20+
with:
21+
submodules: true
22+
- uses: actions/setup-python@v4
23+
with:
24+
python-version: '3.x'
25+
- name: Build documentation
26+
run: |
27+
pip install --user -r doc/requirements.txt
28+
bash ./tests/ci/build_docs.sh

0 commit comments

Comments
 (0)