<feed xmlns='http://www.w3.org/2005/Atom'>
<title>erlang.mk.git/.github/workflows, branch master</title>
<subtitle>A build tool for Erlang that just works.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/'/>
<entry>
<title>CI: Add problem matchers to tests</title>
<updated>2025-10-14T07:53:43+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2025-10-13T13:01:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=ba4dcff32a52cb5e546c32cb343596956b26e4c0'/>
<id>ba4dcff32a52cb5e546c32cb343596956b26e4c0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix autopatch of erlang-rocksdb</title>
<updated>2025-08-29T15:20:56+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2025-08-29T14:45:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=7cef74a75f1d1be150a2a3669caf58f7607e3052'/>
<id>7cef74a75f1d1be150a2a3669caf58f7607e3052</id>
<content type='text'>
Thanks Ilya Khaprov for the fix.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Thanks Ilya Khaprov for the fix.
</pre>
</div>
</content>
</entry>
<entry>
<title>GitHub Actions: Upload artifacts in case of failure in `check-in-vm`</title>
<updated>2025-07-25T10:10:23+00:00</updated>
<author>
<name>Jean-Sébastien Pédron</name>
<email>jean-sebastien.pedron@dumbbell.fr</email>
</author>
<published>2025-07-25T09:23:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=973ccc3ac9b5c1223a42e267e89c9043ae9a06ae'/>
<id>973ccc3ac9b5c1223a42e267e89c9043ae9a06ae</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>GitHub Actions: Switch to `cross-platform-actions` actions to run VMs</title>
<updated>2025-07-25T09:22:48+00:00</updated>
<author>
<name>Jean-Sébastien Pédron</name>
<email>jean-sebastien.pedron@dumbbell.fr</email>
</author>
<published>2025-07-23T10:27:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=1f07645aadf6287cff5eb4af27222a993d92fd7c'/>
<id>1f07645aadf6287cff5eb4af27222a993d92fd7c</id>
<content type='text'>
`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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`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.
</pre>
</div>
</content>
</entry>
<entry>
<title>GitHub Actions: Set a timeout of 1 hour for `check-in-vm`</title>
<updated>2025-07-23T10:28:49+00:00</updated>
<author>
<name>Jean-Sébastien Pédron</name>
<email>jean-sebastien.pedron@dumbbell.fr</email>
</author>
<published>2025-07-23T07:40:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=faa424742b4000fdcda7a3c65909993ccc6b3a52'/>
<id>faa424742b4000fdcda7a3c65909993ccc6b3a52</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>GitHub Actions: Run tests on FreeBSD</title>
<updated>2025-07-22T17:10:23+00:00</updated>
<author>
<name>Jean-Sébastien Pédron</name>
<email>jean-sebastien.pedron@dumbbell.fr</email>
</author>
<published>2025-07-08T08:25:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=e2f635b00f1aca3750056cd772ee148ba571f1ad'/>
<id>e2f635b00f1aca3750056cd772ee148ba571f1ad</id>
<content type='text'>
Tests are executed in a FreeBSD VM using the latest stable release. The
default version of Erlang and Elixir from the Ports tree are being used;
currently Erlang/OTP 26 and Elixir 1.17 as of this commit.

Otherwise, tests are split the same way as for Linux/Windows/OSX. That
said, the list is duplicated, so a bit annoying to maintain.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tests are executed in a FreeBSD VM using the latest stable release. The
default version of Erlang and Elixir from the Ports tree are being used;
currently Erlang/OTP 26 and Elixir 1.17 as of this commit.

Otherwise, tests are split the same way as for Linux/Windows/OSX. That
said, the list is duplicated, so a bit annoying to maintain.
</pre>
</div>
</content>
</entry>
<entry>
<title>GitHub Actions: Pin Elixir version is `check-asdf-elixir`</title>
<updated>2025-07-22T15:24:42+00:00</updated>
<author>
<name>Jean-Sébastien Pédron</name>
<email>jean-sebastien.pedron@dumbbell.fr</email>
</author>
<published>2025-07-22T09:35:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=75d0a61fba23a9b820c3a272acf07ab37d94482b'/>
<id>75d0a61fba23a9b820c3a272acf07ab37d94482b</id>
<content type='text'>
Using the "latest" version doesn't work because it fails to determine
a version for Erlang/OTP.

To work around this, we pin the version of Elixir to "1.18.4-otp-27".

While here, update asdf to version 1.18.0.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using the "latest" version doesn't work because it fails to determine
a version for Erlang/OTP.

To work around this, we pin the version of Elixir to "1.18.4-otp-27".

While here, update asdf to version 1.18.0.
</pre>
</div>
</content>
</entry>
<entry>
<title>GitHub Actions: Create Erlang cookie before running tests</title>
<updated>2025-07-22T15:24:42+00:00</updated>
<author>
<name>Jean-Sébastien Pédron</name>
<email>jean-sebastien.pedron@dumbbell.fr</email>
</author>
<published>2025-07-08T17:42:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=5b8264609ab562ab4c968d4f27af55415062012b'/>
<id>5b8264609ab562ab4c968d4f27af55415062012b</id>
<content type='text'>
With the parallel execution of tests, I think it's possible that an
Erlang VM starts to initialize the missing cookie while a parallel VM
reads an yet-to-be-populated empty file. This leads to the following
crash:

    Slogan: Kernel pid terminated (application_controller) ("{application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,auth,{\"Too short cookie string\",[{auth,init_no_setcookie,0,[{file,\"auth.erl\"},{line,360}]},...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the parallel execution of tests, I think it's possible that an
Erlang VM starts to initialize the missing cookie while a parallel VM
reads an yet-to-be-populated empty file. This leads to the following
crash:

    Slogan: Kernel pid terminated (application_controller) ("{application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,auth,{\"Too short cookie string\",[{auth,init_no_setcookie,0,[{file,\"auth.erl\"},{line,360}]},...
</pre>
</div>
</content>
</entry>
<entry>
<title>Properly handle asdf-installed Elixir</title>
<updated>2025-03-20T11:40:51+00:00</updated>
<author>
<name>Loïc Hoguin</name>
<email>essen@ninenines.eu</email>
</author>
<published>2025-03-19T11:27:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=e13b4c71d764cc92a1e5a92f5f2dd1c1f59b4a3c'/>
<id>e13b4c71d764cc92a1e5a92f5f2dd1c1f59b4a3c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Native Elixir support</title>
<updated>2025-03-17T14:23:40+00:00</updated>
<author>
<name>Tyler Hughes</name>
<email>artman41@gmail.com</email>
</author>
<published>2023-05-12T20:58:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/erlang.mk.git/commit/?id=39160fbf248ae6576e87847d9c33659190a476e6'/>
<id>39160fbf248ae6576e87847d9c33659190a476e6</id>
<content type='text'>
This commit also includes a way to completely disable Eunit
as that is generally desirable for Elixir-only projects.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit also includes a way to completely disable Eunit
as that is generally desirable for Elixir-only projects.
</pre>
</div>
</content>
</entry>
</feed>
