@@ -29,57 +29,74 @@ concurrency:
2929
3030jobs :
3131 build :
32+ continue-on-error : ${{ matrix.allow_fail == true }}
3233 env :
3334 component_manager_ver : " 2.2.*"
3435 idf_build_apps_ver : " 2.10.1"
3536 strategy :
37+ fail-fast : false
3638 matrix :
3739 include :
3840 - idf_ver : " latest"
39- parallel_count : 5
41+ parallel_count : 3
4042 parallel_index : 1
43+ allow_fail : true
4144 - idf_ver : " latest"
42- parallel_count : 5
45+ parallel_count : 3
4346 parallel_index : 2
47+ allow_fail : true
4448 - idf_ver : " latest"
45- parallel_count : 5
49+ parallel_count : 3
4650 parallel_index : 3
47- - idf_ver : " latest"
48- parallel_count : 5
49- parallel_index : 4
50- - idf_ver : " latest"
51- parallel_count : 5
52- parallel_index : 5
53- - idf_ver : " release-v5.1"
51+ allow_fail : true
52+ - idf_ver : " release-v6.0"
5453 parallel_count : 2
5554 parallel_index : 1
56- - idf_ver : " release-v5.1"
55+ allow_fail : false
56+ - idf_ver : " release-v6.0"
5757 parallel_count : 2
5858 parallel_index : 2
59- - idf_ver : " release-v5.2"
59+ allow_fail : false
60+ - idf_ver : " release-v5.5"
6061 parallel_count : 2
6162 parallel_index : 1
62- - idf_ver : " release-v5.2"
63+ allow_fail : false
64+ - idf_ver : " release-v5.5"
65+ parallel_count : 2
66+ parallel_index : 2
67+ allow_fail : false
68+ - idf_ver : " release-v5.4"
69+ parallel_count : 2
70+ parallel_index : 1
71+ allow_fail : false
72+ - idf_ver : " release-v5.4"
6373 parallel_count : 2
6474 parallel_index : 2
75+ allow_fail : false
6576 - idf_ver : " release-v5.3"
6677 parallel_count : 2
6778 parallel_index : 1
79+ allow_fail : false
6880 - idf_ver : " release-v5.3"
6981 parallel_count : 2
7082 parallel_index : 2
71- - idf_ver : " release-v5.4"
83+ allow_fail : false
84+ - idf_ver : " release-v5.2"
7285 parallel_count : 2
7386 parallel_index : 1
74- - idf_ver : " release-v5.4"
87+ allow_fail : false
88+ - idf_ver : " release-v5.2"
7589 parallel_count : 2
7690 parallel_index : 2
77- - idf_ver : " release-v5.5"
91+ allow_fail : false
92+ - idf_ver : " release-v5.1"
7893 parallel_count : 2
7994 parallel_index : 1
80- - idf_ver : " release-v5.5"
95+ allow_fail : false
96+ - idf_ver : " release-v5.1"
8197 parallel_count : 2
8298 parallel_index : 2
99+ allow_fail : false
83100 runs-on : ubuntu-latest
84101 container : espressif/idf:${{ matrix.idf_ver }}
85102 steps :
@@ -93,19 +110,38 @@ jobs:
93110 separator : ' ;' # idf-build-apps expects files seprated with semicolon
94111
95112 - name : Build ESP-BSP applications
113+ continue-on-error : ${{ matrix.allow_fail == true }}
96114 if : always()
97115 shell : bash
98116 env :
99117 IDF_EXTRA_ACTIONS_PATH : " ${{ github.workspace }}/examples"
100118 # When event not a pull-request, the action before must be skipped and the steps.changed-files.outputs.all_modified_files variable is not exists and must be removed
101- ALL_CHANGED_FILES : ${{ (github.event_name != 'pull_request') && format(' ') || format('--modified-files=') }}${{ (github.event_name != 'pull_request') && format(' ') || steps.changed-files.outputs.all_modified_files }}
119+ # ALL_CHANGED_FILES: ${{ (github.event_name != 'pull_request') && format(' ') || format('--modified-files=') }}${{ (github.event_name != 'pull_request') && format(' ') || steps.changed-files.outputs.all_modified_files }}
120+ ALL_CHANGED_FILES :
102121 run : |
103122 . ${IDF_PATH}/export.sh
104123 pip install idf-component-manager==${{ env.component_manager_ver }} ruamel.yaml idf-build-apps==${{ env.idf_build_apps_ver }} --upgrade
105124
106125 echo "Files changed: "${{env.ALL_CHANGED_FILES}}
107126 idf-build-apps find ${{env.ALL_CHANGED_FILES}}
108- idf-build-apps build --parallel-count ${{ matrix.parallel_count }} --parallel-index ${{ matrix.parallel_index }} ${{env.ALL_CHANGED_FILES}} --collect-app-info build_info_${{ matrix.idf_ver }}_${{ matrix.parallel_index }}.json
127+ idf-build-apps build --parallel-count ${{ matrix.parallel_count }} --parallel-index ${{ matrix.parallel_index }} ${{env.ALL_CHANGED_FILES}} --collect-app-info build_info_${{ matrix.idf_ver }}_${{ matrix.parallel_index }}.json || echo "BUILD_FAILED=true" >> $GITHUB_ENV
128+
129+ # Warning, if failed with master
130+ - name : Warn if latest build failed
131+ if : ${{ env.BUILD_FAILED == 'true' && matrix.allow_fail == true }}
132+ run : |
133+ echo "::warning::Build failed for idf_ver=${{ matrix.idf_ver }} (ignored because it's 'latest')"
134+ echo "### ⚠️ Build failed for idf_ver=${{ matrix.idf_ver }}" >> $GITHUB_STEP_SUMMARY
135+ echo "This failure was ignored (continue-on-error enabled)." >> $GITHUB_STEP_SUMMARY
136+
137+ # Warning, if failed with master
138+ - name : Warn if latest build failed Comment PR
139+ if : ${{ env.BUILD_FAILED == 'true' && matrix.allow_fail == true }}
140+ uses : thollander/actions-comment-pull-request@v3
141+ with :
142+ message : |
143+ ### ⚠️ Build failed for idf_ver=${{ matrix.idf_ver }} index=${{ matrix.parallel_index }}
144+ This failure was ignored (continue-on-error enabled).
109145
110146 - uses : actions/upload-artifact@v4
111147 if : github.repository_owner == 'espressif' && needs.prepare.outputs.build_only == '0'
@@ -128,7 +164,7 @@ jobs:
128164 max-parallel : 5
129165 matrix :
130166 idf_ver :
131- - " latest "
167+ - " release-v6.0 "
132168 runner :
133169 - example : " test_example_display"
134170 - example : " test_example_lvgl_demos"
0 commit comments