diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/ci.yaml | 103 |
1 files changed, 95 insertions, 8 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 2c8c3b6..e51ef0b 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() @@ -134,17 +139,20 @@ jobs: - name: Install asdf along with Elixir run: | - wget https://github.com/asdf-vm/asdf/releases/download/v0.16.5/asdf-v0.16.5-linux-amd64.tar.gz + wget https://github.com/asdf-vm/asdf/releases/download/v0.18.0/asdf-v0.18.0-linux-amd64.tar.gz tar xf asdf-v*-linux-amd64.tar.gz ./asdf plugin add elixir - ./asdf install elixir latest - ./asdf set elixir latest + ./asdf install elixir 1.18.4-otp-27 + ./asdf set elixir 1.18.4-otp-27 - name: Install libsodium 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() @@ -359,3 +372,77 @@ jobs: - name: Check templates run: make check-templates + + check-in-vm: + strategy: + fail-fast: false + matrix: + os: + - freebsd + suite: + - core-app + - core-apps + - core-autopatch + - core-compat + # Trick GH runners into picking this slower job early. + - ACME=1 c=core-deps + - core-elixir + - core-makedep + - core-misc + - core-plugins + - core-query + - core-upgrade + - asciidoc + - bootstrap + - concuerror + - cover + - c-src + - ct + - dialyzer SET=1 + - dialyzer SET=2 + - dialyzer SET=3 + - dialyzer SET=4 + - edoc + - erlydtl + - escript + - eunit + - proper + - protobuffs + # Trick GH runners into picking this slower job early. + - ACME=1 c=relx + - shell + - sphinx + - triq + - xref + # Don't run tests with CACHE_DEPS or LEGACY. Running them on Linux is + # good enough. + # extra: ['', 'CACHE_DEPS=1', 'LEGACY=1'] + runs-on: ubuntu-latest + steps: + + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Run tests (FreeBSD) + uses: cross-platform-actions/[email protected] + timeout-minutes: 60 + with: + operating_system: ${{ matrix.os }} + version: '14.3' + run: | + sudo pkg update + sudo pkg upgrade -y + sudo pkg install -y erlang elixir bash ca_root_nss gmake git libsodium perl5 7-zip + + git config --global safe.directory '*' + erl -sname init_cookie -run erlang halt + + gmake check c=${{ matrix.suite }} -j4 USE_NODETOOL=1 + + - name: Upload artifacts + if: failure() + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.os }} ${{ matrix.suite }} + path: | + test/test_*/ |