openwrt / openwrt/actions-shared-workflows

CI: reusable_build:

Open
#18 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
12
Forks
29
Avg merge
3d 11h
Merged PRs (30d)
2

Description

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).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reusable_build workflow step shown in the issue and the referenced .github/workflows/scripts/show_build_failures.sh script. Reproduce both a push with one changed package and a checksum-only Makefile change, using the shown make package/download package/check commands. Done means package checks follow the changed-package list when appropriate and checksum-only changes have defined check behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, shell
Domain
build-system, ci-cd
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.