Skip to content

Conversation

dumbbell
Copy link
Contributor

@dumbbell dumbbell commented Jul 23, 2025

vmactions VM fails to boot quite frequently and we have no visibility on the reason of the failure.

The only failure I got out-of-the-box with cross-platform-actions VM was the core-deps-rel test case which hangs. It comes from the use of erl_call to detect if the Erlang node was started correctly. A comment in the generated release starts scripts says:

# users who depend on stdout when running rpc calls must still use nodetool
# so we have an overload option to force use of nodetool instead of erl_call

If $USE_NODETOOL is set, it will use relx_nodetool instead. Indeed, this fixed the hang.

While here, set a timeout of one hour in case a VM even hangs again. Much more acceptable than the default 6 hours.

Also, in case of a test failure, upload the artifacts like it is already the case for Linux-based tests.

It looks like the VM is sometimes stuck booting, long before executing
any tests. The default timeout of 6 hours blocks other CI jobs for a
very long time. Because the VM won't boot anyway, we reduce this time to
one hour.

One hour should be long enough for a successful slow execution of the
tests.
@dumbbell dumbbell force-pushed the set-timeout-for-check-in-vm branch 4 times, most recently from 9ecf7ce to f308611 Compare July 24, 2025 16:15
dumbbell added 2 commits July 25, 2025 11:22
`vmactions` VM fails to boot quite frequently and we have no visibility
on the reason of the failure.

The only failure I got out-of-the-box with cross-platform-actions VM was
the `core-deps-rel` test case which hangs. It comes from the use of
`erl_call` to detect if the Erlang node was started correctly. A comment
in the generated release starts scripts says:

    # users who depend on stdout when running rpc calls must still use nodetool
    # so we have an overload option to force use of nodetool instead of erl_call

If `$USE_NODETOOL` is set, it will use `relx_nodetool` instead. Indeed,
this fixed the hang.
This is the same as `check`. The files of the cross-platform-actions VM
are synchronised in both ways, so we can re-use the same configuration.
@dumbbell dumbbell force-pushed the set-timeout-for-check-in-vm branch from e471b53 to a75e431 Compare July 25, 2025 09:24
@dumbbell dumbbell changed the title GitHub Actions: Set a timeout of 1 hour for check-in-vm GitHub Actions: Switch to cross-platform-actions to run tests in VMs Jul 25, 2025
@dumbbell dumbbell marked this pull request as ready for review July 25, 2025 09:47
@essen
Copy link
Member

essen commented Jul 25, 2025

Merged, thanks!

@essen essen closed this Jul 25, 2025
@dumbbell dumbbell deleted the set-timeout-for-check-in-vm branch July 25, 2025 10:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants