aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <[email protected]>2025-07-08 19:42:36 +0200
committerJean-Sébastien Pédron <[email protected]>2025-07-22 17:24:42 +0200
commit5b8264609ab562ab4c968d4f27af55415062012b (patch)
tree037f425bffd0ca872a3b0630d6a6a0c52668914f
parenta90161b8554bd694eebc8138a8c7de84797f2175 (diff)
downloaderlang.mk-5b8264609ab562ab4c968d4f27af55415062012b.tar.gz
erlang.mk-5b8264609ab562ab4c968d4f27af55415062012b.tar.bz2
erlang.mk-5b8264609ab562ab4c968d4f27af55415062012b.zip
GitHub Actions: Create Erlang cookie before running tests
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}]},...
-rw-r--r--.github/workflows/ci.yaml23
1 files changed, 18 insertions, 5 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 2c8c3b6..3c12e65 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -104,12 +104,17 @@ jobs:
- name: Run tests (Linux)
if: matrix.os == 'ubuntu-latest'
- run: make check c=${{ matrix.suite }} -j4 -k ${{ matrix.extra }}
+ run: |
+ erl -sname init_cookie -run erlang halt
+ make check c=${{ matrix.suite }} -j4 -k ${{ matrix.extra }}
- name: Run tests (Windows)
if: matrix.os == 'windows-latest'
shell: msys2 {0}
- run: PATH=$INSTALL_DIR_FOR_OTP/bin:$PATH make check c=${{ matrix.suite }} -j4 -k ${{ matrix.extra }}
+ run: |
+ export PATH=$INSTALL_DIR_FOR_OTP/bin:$PATH
+ erl -sname init_cookie -run erlang halt
+ make check c=${{ matrix.suite }} -j4 -k ${{ matrix.extra }}
- name: Upload artifacts
if: failure()
@@ -144,7 +149,10 @@ jobs:
run: sudo apt-get -y install libsodium-dev
- name: Run tests
- run: make check c=core-elixir -j4 -k PATH=$PWD:/home/runner/.asdf/shims:$PATH
+ run: |
+ export PATH=$PWD:/home/runner/.asdf/shims:$PATH
+ erl -sname init_cookie -run erlang halt
+ make check c=core-elixir -j4 -k
check-hex:
strategy:
@@ -205,12 +213,17 @@ jobs:
- name: Run tests (Linux)
if: matrix.os == 'ubuntu-latest'
- run: make check c=hex -j4 -k ${{ matrix.extra }}
+ run: |
+ erl -sname init_cookie -run erlang halt
+ make check c=hex -j4 -k ${{ matrix.extra }}
- name: Run tests (Windows)
if: matrix.os == 'windows-latest'
shell: msys2 {0}
- run: PATH=$INSTALL_DIR_FOR_OTP/bin:$PATH make check c=hex -j4 -k ${{ matrix.extra }}
+ run: |
+ export PATH=$INSTALL_DIR_FOR_OTP/bin:$PATH
+ erl -sname init_cookie -run erlang halt
+ make check c=hex -j4 -k ${{ matrix.extra }}
- name: Upload artifacts
if: failure()