diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/ci.yaml | 122 |
1 files changed, 118 insertions, 4 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0ff2e4d..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() @@ -119,6 +124,36 @@ jobs: path: | test/test_*/ + check-asdf-elixir: + runs-on: ubuntu-latest + steps: + + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install Erlang/OTP + uses: erlef/setup-beam@v1 + with: + otp-version: 27 + version-type: loose + + - name: Install asdf along with Elixir + run: | + 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 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: | + 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: fail-fast: false @@ -178,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() @@ -332,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_*/ |