M .github/workflows/ci_builds.yml => .github/workflows/ci_builds.yml +5 -3
@@ 39,11 39,13 @@ jobs:
- name: Run `qmk mass-compile` (keymap ${{ matrix.keymap }})
run: |
export NCPUS=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null)
- qmk mass-compile -t -j $NCPUS -km ${{ matrix.keymap }} -e DUMP_CI_METADATA=yes
+ qmk mass-compile -t -j $NCPUS -km ${{ matrix.keymap }} -e DUMP_CI_METADATA=yes || touch .failed
# Generate the step summary markdown
- ./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY
+ ./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true
# Truncate to a maximum of 1MB to deal with GitHub workflow limit
- truncate --size='<960K' $GITHUB_STEP_SUMMARY
+ truncate --size='<960K' $GITHUB_STEP_SUMMARY || true
+ # Exit with failure if the compilation stage failed
+ [ ! -f .failed ] || exit 1
- name: 'Upload artifacts'
uses: actions/upload-artifact@v3
M util/ci/generate_failure_markdown.sh => util/ci/generate_failure_markdown.sh +2 -0
@@ 19,3 19,5 @@ dump_failure_info() {
for failure_file in $(find "$qmk_firmware_dir/.build" -name 'failed.log.*' | sort); do
dump_failure_info "$failure_file"
done
+
+exit 0