File tree Expand file tree Collapse file tree 3 files changed +122
-0
lines changed
Expand file tree Collapse file tree 3 files changed +122
-0
lines changed Original file line number Diff line number Diff line change 1+ name : Build
2+
3+ on :
4+ workflow_dispatch :
5+ inputs :
6+ board :
7+ description : ' Board to build for'
8+ required : true
9+ default : ' all'
10+
11+ jobs :
12+ build :
13+ runs-on : ubuntu-latest
14+ strategy :
15+ matrix :
16+ board :
17+ - esp-box-3
18+ - esp-box
19+ - esp32_p4_function_ev_board
20+ - m5stack_core_s3
21+ if : ${{ github.event.inputs.board == 'all' || github.event.inputs.board == matrix.board }}
22+
23+ steps :
24+ - name : Checkout code
25+ uses : actions/checkout@v3
26+
27+ - name : Set up ESP-IDF
28+ uses : espressif/esp-idf-ci-action@v2
29+ with :
30+ version : ' 5.3'
31+
32+ - name : Install Python dependencies
33+ run : python -m pip install --upgrade pip setuptools wheel
34+
35+ - name : Build for ${{ matrix.board }}
36+ run : |
37+ idf.py @boards/${{ matrix.board }}.cfg set-target ${{ matrix.board }}
38+ idf.py build
39+ env :
40+ BUILD_BOARD : ${{ matrix.board }}
41+
42+ - name : Upload build artifacts
43+ uses : actions/upload-artifact@v3
44+ with :
45+ name : ${{ matrix.board }}-build
46+ path : build/
Original file line number Diff line number Diff line change 1+ name : Create Release
2+
3+ on :
4+ workflow_dispatch :
5+ inputs :
6+ release_name :
7+ description : ' Name of the release'
8+ required : true
9+ board :
10+ description : ' Board to release'
11+ required : true
12+ default : ' all'
13+
14+ jobs :
15+ create-release :
16+ runs-on : ubuntu-latest
17+
18+ steps :
19+ - name : Checkout code
20+ uses : actions/checkout@v3
21+
22+ - name : Create GitHub Release
23+ id : create_release
24+ uses : actions/create-release@v1
25+ with :
26+ tag_name : ${{ github.event.inputs.release_name }}
27+ release_name : ${{ github.event.inputs.release_name }}
28+ body : ' Release for ${{ github.event.inputs.release_name }}'
29+ draft : true
30+ prerelease : false
31+
32+ - name : Download build artifacts
33+ uses : actions/download-artifact@v3
34+ with :
35+ name : ${{ matrix.board }}-build
36+ path : build/
37+
38+ - name : Upload assets to release
39+ uses : actions/upload-release-asset@v1
40+ with :
41+ upload_url : ${{ steps.create_release.outputs.upload_url }}
42+ asset_path : build/
43+ asset_name : ${{ matrix.board }}-artifacts.zip
44+ asset_content_type : application/zip
Original file line number Diff line number Diff line change 1+ name : Test
2+
3+ on :
4+ workflow_dispatch :
5+ inputs :
6+ board :
7+ description : ' Board to test'
8+ required : true
9+ default : ' esp-box-3'
10+
11+ jobs :
12+ test :
13+ runs-on : ubuntu-latest
14+ steps :
15+ - name : Checkout code
16+ uses : actions/checkout@v3
17+
18+ - name : Download build artifacts
19+ uses : actions/download-artifact@v3
20+ with :
21+ name : ${{ github.event.inputs.board }}-build
22+ path : build/
23+
24+ - name : Setup Wokwi CLI
25+ uses : wokwi/wokwi-ci-action@v1
26+ with :
27+ token : ${{ secrets.WOKWI_CLI_TOKEN }}
28+ path : . # assumes wokwi.toml is in the root directory
29+ timeout : 30000
30+ expect_text : ' Boot successful'
31+ fail_text : ' Error'
32+ serial_log_file : ' wokwi-logs.txt'
You can’t perform that action at this time.
0 commit comments