E2E tests #165
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
} |