Skip to content

E2E tests on Linux #697

E2E tests on Linux

E2E tests on Linux #697

name: E2E tests on Linux
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
schedule:
# Runs at 12am UTC
- cron: '0 0 * * *'
jobs:
e2e_tests:
strategy:
matrix:
# ref: https://github.com/actions/runner-images
os: [ubuntu-22.04, ubuntu-24.04]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '^1.24.2' # The Go version to download (if necessary) and use.
- name: build vfox (Linux)
run: |
git clone https://github.com/version-fox/vfox.git
cd vfox
go build -o vfox
chmod +x vfox
cp vfox /usr/local/bin
- name: add vfox-erlang plugin (Unix-like)
run: |
vfox add --source https://github.com/version-fox/vfox-erlang/archive/${GITHUB_REF}.zip erlang
- name: prepare Erlang/OTP deps (Linux)
if: matrix.os != 'ubuntu-24.04'
run: |
sudo apt update
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential autoconf m4 libncurses5-dev libwxgtk3.0-gtk3-dev libwxgtk-webview3.0-gtk3-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libssh-dev unixodbc-dev xsltproc fop libxml2-utils libncurses-dev openjdk-11-jdk
- name: prepare Erlang/OTP deps (Linux)
if: matrix.os == 'ubuntu-24.04'
run: |
sudo apt update
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential autoconf m4 libncurses5-dev libwxgtk3.2-dev libwxgtk-webview3.2-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libssh-dev unixodbc-dev xsltproc fop libxml2-utils libncurses-dev openjdk-11-jdk
- name: install Erlang/OTP by vfox-erlang plugin (Linux)
run: |
export MAKEFLAGS=-j4
vfox install erlang@26.2.3
eval "$(vfox activate bash)"
vfox use -g erlang@26.2.3
eval "$(vfox activate bash)"
echo "===============PATH==============="
echo $PATH
echo "===============PATH==============="
cd assets
erlc hello.erl
erl -noshell -s hello hello_world -s init stop
docs=$(erl -eval 'erlang:display(shell_docs:get_doc(lists)), halt().' -noshell | grep "List processing functions")
if [ -n "$docs" ]; then
echo "erlang built with docs chunk"
else
echo "erlang does not built with docs chunk"
exit 1
fi