I think the || logic here is wrong. All packages are checked even if only a single package has changed in a (force) push. It would seem that any push event always triggers make package/check (if [ "${{ github.event_name }}" = "push" ])
- name: Download and check packages
if: inputs.build_all_modules == true || inputs.build_all_kmods == true || inputs.build_full == true
shell: su buildbot -c "sh -e {0}"
working-directory: openwrt
run: |
# With push events or check_packages_list set to 'all', check all packages
if [ "${{ github.event_name }}" = "push" ] || [ "${{ inputs.check_packages_list }}" = "all" ]; then
make package/download package/check FIXUP=1 -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh
# With every other event check only changed packages (if provided)
elif [ -n "${{ inputs.check_packages_list }}" ]; then
for package in ${{ inputs.check_packages_list }}; do
make package/$package/download package/$package/check FIXUP=1 -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh
done
fi
Also, if only checksums have changed in a Makefile, package/check FIXUP=1 seems to do nothing locally (to warrant a git add blah; git commit --amend ; git push --force).
I think the
||logic here is wrong. All packages are checked even if only a single package has changed in a (force) push. It would seem that any push event always triggersmake package/check(if [ "${{ github.event_name }}" = "push" ])- name: Download and check packages if: inputs.build_all_modules == true || inputs.build_all_kmods == true || inputs.build_full == true shell: su buildbot -c "sh -e {0}" working-directory: openwrt run: | # With push events or check_packages_list set to 'all', check all packages if [ "${{ github.event_name }}" = "push" ] || [ "${{ inputs.check_packages_list }}" = "all" ]; then make package/download package/check FIXUP=1 -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh # With every other event check only changed packages (if provided) elif [ -n "${{ inputs.check_packages_list }}" ]; then for package in ${{ inputs.check_packages_list }}; do make package/$package/download package/$package/check FIXUP=1 -j$(nproc) BUILD_LOG=1 || ret=$? .github/workflows/scripts/show_build_failures.sh done fiAlso, if only checksums have changed in a Makefile, package/check FIXUP=1 seems to do nothing locally (to warrant a
git add blah; git commit --amend ; git push --force).