Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ci_set_matrix: Builds no boards in specific circumstance #9468

Open
@jepler

Description

@jepler

CircuitPython version

origin/main (pull request)

Code/REPL

GITHUB_EVENT_NAME=pull_request BASE_SHA=901dd228cbdb2069e66fae8c2108d44466ab1e7f HEAD_SHA=d335a10574a1eaf78c94e566399d96150f269636 GITHUB_SHA=7dd3bf81e44bfb73880cc34d418bf7ed09223bad python tools/ci_set_matrix.py

Behavior

Should build many boards, but actually builds none

Description

Encountered while building #9467

Additional information

I was unable to determine what the intersection_update call is intended to do but in this case it gives an empty set of changed files to consider:

diff --git a/tools/ci_set_matrix.py b/tools/ci_set_matrix.py
index d050d8e44c..a105cacbe6 100755
--- a/tools/ci_set_matrix.py
+++ b/tools/ci_set_matrix.py
@@ -91,8 +91,12 @@ if len(sys.argv) > 1:
 elif compute_diff:
     print("Using files list by computing diff")
     changed_files = git_diff("$BASE_SHA...$HEAD_SHA")
+    print(f"{changed_files=}")
     if os.environ.get("GITHUB_EVENT_NAME") == "pull_request":
-        changed_files.intersection_update(git_diff("$GITHUB_SHA~...$GITHUB_SHA"))
+        print("intersection update (pull request)")
+        other_files = git_diff("$GITHUB_SHA~...$GITHUB_SHA")
+        changed_files.intersection_update(other_files)
+        print(f"{other_files=} {changed_files=}")
 else:
     print("Using files list in CHANGED_FILES")
     changed_files = set(json.loads(os.environ.get("CHANGED_FILES") or "[]"))
Using files list by computing diff
changed_files={'ports/espressif/common-hal/wifi/__init__.c', 'ports/espressif/boards/lolin_c3_pico/sdkconfig', 'ports/espressif/mpconfigport.mk', 'ports/espressif/boards/vidi_x/sdkconfig', 'shared-bindings/socketpool/Socket.h', 'shared-bindings/socketpool/SocketPool.h', 'shared-bindings/socketpool/SocketPool.c', 'shared-bindings/audiocore/RawSample.c', 'shared-module/audiocore/RawSample.c', 'shared-module/audiocore/RawSample.h', 'locale/fr.po', 'locale/cs.po', 'locale/el.po', 'ports/espressif/boards/vidi_x/mpconfigboard.mk', 'locale/de_DE.po', 'locale/sv.po', 'shared-bindings/analogbufio/BufferedIn.c', 'shared-bindings/socketpool/Socket.c', 'ports/espressif/esp-idf-config/sdkconfig.defaults', 'shared-bindings/wifi/Radio.c', 'locale/tr.po', 'ports/espressif/boards/lolin_c3_pico/mpconfigboard.mk', 'docs/shared_bindings_matrix.py', 'ports/espressif/common-hal/socketpool/SocketPool.c', 'locale/hi.po', 'docs/library/sys.rst', 'ports/raspberrypi/common-hal/analogbufio/BufferedIn.c', 'ports/raspberrypi/common-hal/socketpool/__init__.h', 'ports/espressif/common-hal/wifi/Radio.c', 'shared-bindings/audiocore/RawSample.h', 'ports/espressif/common-hal/wifi/__init__.h', 'ports/espressif/common-hal/analogbufio/BufferedIn.c', 'locale/ru.po', 'tests/circuitpython-manual/live_audio/analogbufio_bufferedin_loop.py', 'ports/espressif/boards/vidi_x/pins.c', 'ports/raspberrypi/common-hal/socketpool/Socket.c', 'ports/raspberrypi/common-hal/socketpool/Socket.h', 'locale/it_IT.po', 'ports/espressif/boards/waveshare_esp32_s3_tiny/sdkconfig', 'ports/raspberrypi/common-hal/socketpool/SocketPool.h', 'supervisor/shared/web_workflow/web_workflow.c', 'locale/ko.po', 'locale/pt_BR.po', 'ports/espressif/boards/vidi_x/mpconfigboard.h', 'ports/espressif/boards/waveshare_esp32_s3_tiny/mpconfigboard.mk', 'shared-bindings/wifi/Radio.h', 'ports/raspberrypi/common-hal/analogbufio/BufferedIn.h', 'locale/nl.po', 'tests/circuitpython-manual/live_audio/mix.py', 'ports/raspberrypi/common-hal/wifi/Radio.c', 'shared-bindings/wifi/__init__.c', 'locale/ja.po', 'locale/zh_Latn_pinyin.po', 'shared-bindings/socketpool/__init__.c', 'locale/ID.po', 'locale/en_GB.po', 'locale/es.po', 'ports/espressif/common-hal/socketpool/__init__.h', 'ports/raspberrypi/common-hal/socketpool/SocketPool.c', 'shared-bindings/analogbufio/BufferedIn.h', 'ports/espressif/common-hal/socketpool/Socket.c', 'locale/circuitpython.pot', 'locale/fil.po', 'locale/pl.po', 'py/circuitpy_mpconfig.mk', 'ports/espressif/boards/vidi_x/board.c', 'ports/raspberrypi/common-hal/socketpool/__init__.c'}
intersection update (pull request)
other_files={'ports/raspberrypi/boards/bradanlanestudio_explorer_rp2040/board.c', 'ports/espressif/common-hal/rotaryio/IncrementalEncoder.c', 'ports/nordic/common-hal/_bleio/__init__.c', 'ports/espressif/common-hal/countio/Counter.c', 'ports/espressif/common-hal/frequencyio/FrequencyIn.c', 'conf.py', 'py/modsys.c'} changed_files=set()
Using jobs list in LAST_FAILED_JOBS
::group::Log: changed_files
set()
::endgroup::
::group::Log: last_failed_jobs
{}
::endgroup::
Running: conditionally
Building docs: False
Would set GitHub actions output docs to 'False'
Building windows: False
Would set GitHub actions output windows to 'False'
Building boards: False
Would set GitHub actions output ports to '{}'

@microdev1 pinging because I hope you can enlighten and maybe address the problem.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions