RVM tests #205
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: RVM tests | |
run-name: RVM tests | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
compile_RSC: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Cache gambit | |
id: cache-gambit | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-gambit | |
with: | |
path: ./gambit | |
key: gambit-v4.9.5-${{ runner.os }} | |
- if: ${{ steps.cache-gambit.outputs.cache-hit != 'true' }} | |
name: Install Gambit Dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install texinfo autoconf2.69 | |
sudo ln -s -f `which autoconf2.69` `which autoconf` | |
- if: ${{ steps.cache-gambit.outputs.cache-hit != 'true' }} | |
name: Checkout the gambit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: gambit/gambit | |
ref: v4.9.5 | |
path: gambit-src | |
- if: ${{ steps.cache-gambit.outputs.cache-hit != 'true' }} | |
name: Build Gambit for Use | |
run: | | |
mkdir gambit | |
cd gambit-src && ./configure --enable-single-host --enable-gambitdir=~~execdir/.. --prefix=$(pwd)/../gambit --enable-targets="" && make clean && make -j`nproc` core && make modules && make install | |
- name: Make sure gsi and gsc are working | |
run: | | |
./gambit/bin/gsi -v | |
./gambit/bin/gsc -v | |
- name: create rsc.exe | |
run: | | |
cd src | |
make rsc.exe GSC=$(pwd)/../gambit/bin/gsc GSI=$(pwd)/../gambit/bin/gsi | |
- name: upload rsc.exe | |
uses: actions/upload-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src/rsc.exe | |
- name: create minify | |
run: | | |
cd src | |
make scripts/minify GSC=$(pwd)/../gambit/bin/gsc GSI=$(pwd)/../gambit/bin/gsi | |
- name: upload minify | |
uses: actions/upload-artifact@v4 | |
with: | |
name: minify-exe | |
path: src/scripts/minify | |
test_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v2 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
- name: Run test | |
run: | | |
cd src && make check-features | |
py_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
- name: Download minify artifact into minify-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: minify-exe | |
path: src/scripts | |
- name: Set up permissions on minify | |
run: | | |
chmod +x src/scripts/minify | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
- name: Install dependencies | |
run: | | |
pip install python-minifier | |
- name: Run RVM tests | |
run: | | |
cd src; HOST=py make check RSC_COMPILER="./rsc.exe" | |
- name: Run repl tests | |
run: | | |
cd src; HOST=py make check-repl RSC_COMPILER="./rsc.exe" | |
js_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
- name: Download minify artifact into minify-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: minify-exe | |
path: src/scripts | |
- name: Set up permissions on minify | |
run: | | |
chmod +x src/scripts/minify | |
- name: Set up Nodejs | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '21' | |
- name: Install google closure compiler (for minification) | |
run: | | |
npm install --save google-closure-compiler | |
- name: Run RVM tests | |
run: | | |
cd src; HOST=js make check RSC_COMPILER="./rsc.exe" | |
- name: Run repl tests | |
run: | | |
cd src; HOST=js make check-repl RSC_COMPILER="./rsc.exe" | |
sh_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
- name: Run RVM tests | |
run: | | |
cd src; HOST=sh make check RSC_COMPILER="./rsc.exe" | |
c_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
- name: Setup gcc | |
uses: egor-tensin/setup-gcc@v1 | |
with: | |
version: latest | |
platform: x64 | |
- name: Run RVM tests | |
run: | | |
cd src; HOST=c make check RSC_COMPILER="./rsc.exe" | |
- name: Run repl tests | |
run: | | |
cd src; HOST=c make check-repl RSC_COMPILER="./rsc.exe" | |
asm_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
- uses: ilammy/setup-nasm@v1 | |
- name: Run RVM tests | |
run: | | |
cd src; HOST=asm make check RSC_COMPILER="./rsc.exe" | |
- name: Run repl tests | |
run: | | |
cd src; HOST=asm make check-repl RSC_COMPILER="./rsc.exe" | |
clj_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
# From https://github.com/marketplace/actions/setup-clojure | |
- name: Install clojure tools | |
uses: DeLaGuardo/[email protected] | |
with: | |
cli: 1.10.1.693 # Clojure CLI based on tools.deps | |
- name: Run tests | |
run: | | |
cd src; HOST=clj make check RSC_COMPILER="./rsc.exe" | |
go_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
# from https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-go | |
- name: Setup Go 1.23.x | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.23.x' | |
- name: Run tests | |
run: | | |
cd src; HOST=go make check RSC_COMPILER="./rsc.exe" | |
idr_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
# from https://github.com/marketplace/actions/setup-idris | |
# Install idris through homebrew | |
- name: Set up Homebrew | |
id: set-up-homebrew | |
uses: Homebrew/actions/setup-homebrew@master | |
- name: Install Idris | |
run: brew install idris2 | |
- name: Run tests | |
run: | | |
cd src; HOST=idr make check RSC_COMPILER="./rsc.exe" | |
lisp_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
# from https://github.com/marketplace/actions/setup-steel-bank-common-lisp | |
- name: Setup SBCL | |
uses: cheeze2000/setup-sbcl@v1 | |
with: | |
version: 2.2.8 | |
- name: Run tests | |
run: | | |
cd src; HOST=lisp make check RSC_COMPILER="./rsc.exe" | |
lua_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
- name: Download minify artifact into minify-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: minify-exe | |
path: src/scripts | |
- name: Set up permissions on minify | |
run: | | |
chmod +x src/scripts/minify | |
# from https://github.com/marketplace/actions/install-lua-luajit | |
- name: Install Lua 5.4 | |
uses: leafo/gh-actions-lua@v10 | |
with: | |
luaVersion: "5.4" | |
- name: Run tests | |
run: | | |
cd src; HOST=lua make check RSC_COMPILER="./rsc.exe" | |
ml_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
# Setup Ocaml (https://github.com/ocaml/setup-ocaml) didn't seem to work for me | |
# ocaml and ocamlc were not found in path. I'm using homebrew instead to download ocaml | |
- name: Set up Homebrew | |
id: set-up-homebrew | |
uses: Homebrew/actions/setup-homebrew@master | |
- name: Install Ocaml | |
run: brew install ocaml | |
- name: Run tests | |
run: | | |
cd src; HOST=ml make check RSC_COMPILER="./rsc.exe" | |
pro_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
# from https://github.com/logtalk-actions/setup-swi-prolog | |
- name: Install SWI-Prolog | |
uses: logtalk-actions/setup-swi-prolog@master | |
with: | |
swi-prolog-version: latest | |
- name: Run RVM tests | |
run: | | |
cd src; HOST=pro make check RSC_COMPILER="./rsc.exe" | |
scala_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
# Install Scala through homebrew | |
- name: Set up Homebrew | |
id: set-up-homebrew | |
uses: Homebrew/actions/setup-homebrew@master | |
- name: Install Scala | |
run: brew install scala | |
- name: Run RVM tests | |
run: | | |
cd src; HOST=scala make check RSC_COMPILER="./rsc.exe" | |
scm_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Cache gambit | |
id: cache-gambit | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-gambit | |
with: | |
path: ./gambit | |
key: gambit-v4.9.5-${{ runner.os }} | |
- if: ${{ steps.cache-gambit.outputs.cache-hit != 'true' }} | |
name: Install Gambit Dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install texinfo autoconf2.69 | |
sudo ln -s -f `which autoconf2.69` `which autoconf` | |
- if: ${{ steps.cache-gambit.outputs.cache-hit != 'true' }} | |
name: Checkout the gambit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: gambit/gambit | |
ref: v4.9.5 | |
path: gambit-src | |
- if: ${{ steps.cache-gambit.outputs.cache-hit != 'true' }} | |
name: Build Gambit for Use | |
run: | | |
mkdir gambit | |
cd gambit-src && ./configure --enable-single-host --enable-gambitdir=~~execdir/.. --prefix=$(pwd)/../gambit --enable-targets="" && make clean && make -j`nproc` core && make modules && make install | |
- name: Make sure gsi and gsc are working | |
run: | | |
./gambit/bin/gsi -v | |
./gambit/bin/gsc -v | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
- name: Run RVM tests | |
run: | | |
cd src; HOST=scm make check RSC_COMPILER="./rsc.exe" SCM_HOST_INTERPRETER="$(pwd)/../gambit/bin/gsi" SCM_HOST_COMPILER="$(pwd)/../gambit/bin/gsc -exe -o" | |
hs_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
- name: Download minify artifact into minify-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: minify-exe | |
path: src/scripts | |
- name: Set up permissions on minify | |
run: | | |
chmod +x src/scripts/minify | |
- uses: haskell-actions/setup@v2 | |
- name: Run RVM tests | |
run: | | |
cd src; HOST=hs make check RSC_COMPILER="./rsc.exe" | |
- name: Run repl tests | |
run: | | |
cd src; HOST=hs make check-repl RSC_COMPILER="./rsc.exe" | |
zig_rvm: | |
runs-on: ubuntu-latest | |
needs: compile_RSC | |
steps: | |
- name: Checkout the ribbit repository | |
uses: actions/checkout@v2 | |
with: | |
repository: ${{ github.repository }} | |
ref: ${{ github.ref }} | |
- name: Download rsc.exe artifact into rsc-exe | |
uses: actions/download-artifact@v4 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
- name: Install Zig | |
uses: goto-bus-stop/setup-zig@v2 | |
with: | |
version: 0.13.0 | |
- name: Run RVM tests | |
run: | | |
cd src; HOST=zig make check RSC_COMPILER="./rsc.exe" | |