Skip to content

E2E tests

E2E tests #111

Workflow file for this run

name: E2E tests
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-20.04, macos-12, windows-2022]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: install vfox (Linux)
if: runner.os == 'Linux'
run: |
echo "deb [trusted=yes] https://apt.fury.io/versionfox/ /" | sudo tee /etc/apt/sources.list.d/versionfox.list
sudo apt-get update
sudo apt-get install vfox
- name: install vfox (MacOS)
if: runner.os == 'MacOS'
run: |
brew tap version-fox/tap
brew install vfox
- name: install scoop (Windows)
if: runner.os == 'Windows'
uses: MinoruSekine/setup-scoop@v3
- name: install vfox (Windows)
if: runner.os == 'Windows'
run: |
scoop install vfox
- name: add vfox-erlang & vfox-elixir plugin
if: runner.os != 'Windows'
run: |
vfox add --source https://github.com/version-fox/vfox-erlang/archive/refs/heads/main.zip erlang
vfox add --source https://github.com/version-fox/vfox-elixir/archive/${GITHUB_REF}.zip elixir
- name: add vfox-erlang & vfox-elixir plugin
if: runner.os == 'Windows'
run: |
vfox add --source https://github.com/version-fox/vfox-erlang/archive/refs/heads/main.zip erlang
vfox add --source https://github.com/version-fox/vfox-elixir/archive/$env:GITHUB_REF.zip elixir
- name: install Erlang/OTP & Elixir by vfox-erlang & vfox-elixir plugin (Linux)
if: runner.os == 'Linux'
run: |
sudo 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
export MAKEFLAGS=-j4
vfox install erlang@26.2.3
vfox use -g erlang@26.2.3
eval "$(vfox activate bash)"
which erl
echo "===============PATH==============="
echo $PATH
echo "===============PATH==============="
vfox install elixir@1.16.2
vfox use -g elixir@1.16.2
eval "$(vfox activate bash)"
elixirc -v
cd assets
elixir hello.ex
- name: install Erlang/OTP & Elixir by vfox-erlang & vfox-elixir plugin (Darwin)
if: runner.os == 'MacOS'
run: |
brew install autoconf libxslt fop wxwidgets openssl
export MAKEFLAGS=-j4
vfox install erlang@26.2.3
vfox use -g erlang@26.2.3
eval "$(vfox activate bash)"
which erl
echo "===============PATH==============="
echo $PATH
echo "===============PATH==============="
vfox install elixir@1.16.2
vfox use -g elixir@1.16.2
eval "$(vfox activate bash)"
elixirc -v
cd assets
elixir hello.ex
- name: install Erlang/OTP & Elixir by vfox-erlang & vfox-elixir plugin (Windows)
if: runner.os == 'Windows'
run: |
vfox install erlang@26.2.3
vfox use -g erlang@26.2.3
Invoke-Expression "$(vfox activate pwsh)"
echo "===============PATH==============="
echo $env:PATH
echo "===============PATH==============="
& erl.exe -eval 'erlang:display({otp_release, erlang:system_info(otp_release)}), halt().' -noshell
vfox install elixir@1.16.2-elixir-otp-26
vfox use -g elixir@1.16.2-elixir-otp-26
Invoke-Expression "$(vfox activate pwsh)"
Get-Command iex.bat
echo "===============PATH==============="
echo $env:PATH
echo "===============PATH==============="
cd assets
$result = elixirc.bat hello.ex
if ($result -match "Hello world") {
Write-Output "elixir installed successfully!"
} else {
Write-Output "elixir installed failed!"
exit 1
}