Skip to content

workflows/build.yml: Fix related to prolonged use of the msys2 job - #20584

Merged
xiaoxiang781216 merged 1 commit into
apache:masterfrom
simbit18:simbit18-msys2
Oct 12, 2026
Merged

xiaoxiang781216 merged 1 commit into
apache:masterfrom
simbit18:simbit18-msys2

Conversation

@simbit18

@simbit18 simbit18 commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

I am currently investigating the issue with the MSYS2 job.
To prevent the job from using the Windows Runner Image for an extended period (6 hours), the temporary solution is to:

  • Use the previous setup-msys2 (GitHub Action to set up MSYS2).
    setup-msys2
  • Add the maximum number of minutes that the msys2 job can run before GitHub automatically terminates it.
    GitHub Actions timeout

Impact

Impact on user: NO

Impact on build: Use of the Windows Runner image (Job Msys2) for max 60 minutes.

Impact on hardware: NO

Impact on documentation: NO

Impact on security: NO

Impact on compatibility: NO

Testing

GitHub

https://github.com/simbit18/manual-nuttx-ci/actions/runs/38146000862/job/114489527281#logs

To prevent the job from using the Windows Runner Image for an extended period (6 hours), the temporary solution is to:
 - Use the previous setup-msys2 (GitHub Action to set up MSYS2).
    https://github.com/msys2/setup-msys2
 - Add the maximum number of minutes that the `msys2` job can run before GitHub automatically terminates it.
       GitHub Actions timeout
https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes

Signed-off-by: simbit18 <simbit18@gmail.com>
@github-actions github-actions Bot added Area: CI Size: XS The size of the change in this PR is very small labels Oct 11, 2026
@github-actions

Copy link
Copy Markdown

MemBrowse Memory Report

qemu-armv8a

@casaroli

Copy link
Copy Markdown
Contributor

Data from six recent msys2 runs, in case it helps: the hung ones (38116435520, 38116375368, 38117776252) and the good ones (38088288193, 38118616107, 38119950209) all used setup-msys2 ec48f7c5 and image windows-2025 20260901.588, so the pin may not be the cause. Every hung run stops in the first make olddefconfig, right after Select WINDOWS_MSYS=y, before the tools CMake prints TOOLS_DIR path is ... (about 15 s in a good run). The hangs are clustered in time (05:57–06:23 UTC on Oct 11; a run at 06:38 passed). The timeout is the right first step.

@simbit18

Copy link
Copy Markdown
Contributor Author

Hi @casaroli Based on the tests I've been able to run in the limited time I have, the problem doesn't occur when build Nuttx with Make, but only with CMake.

It appears to be related to the updated version of the CMake package included in the latest version of MSYS2

New
20260927 > cmake-4.4.3-1

Old
20260611 > cmake-4.3.3-1

@casaroli

Copy link
Copy Markdown
Contributor

The process dump from #20590's run (38162235073) shows where it hangs: under testbuild.sh only cmake -B build -DBOARD_CONFIG=nucleo-l152re/nsh -GNinja is left, with no child process. Its last output is Select WINDOWS_MSYS=y, and the next statement is nuttx_setconfig(), an execute_process(COMMAND setconfig ...) that captures the output. So setconfig has finished but CMake never gets the end of file on its pipe: the intermittent MSYS2/Cygwin pipe hang. A timeout around the configure in testbuild.sh would turn it into a failure that the existing retry ("Build Attempt N of 4") handles.

@xiaoxiang781216
xiaoxiang781216 merged commit caf397d into apache:master Oct 12, 2026
53 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: CI Size: XS The size of the change in this PR is very small

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants