Test RVMs #143
Workflow file for this run
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: Test | |
run-name: Test RVMs | |
on: | |
push: | |
branches: | |
- main | |
- dev | |
pull_request: | |
branches: | |
- main | |
- dev | |
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@v2 | |
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@v2 | |
with: | |
name: minify-exe | |
path: src/scripts/minify | |
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@v2 | |
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@v2 | |
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@v2 | |
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@v2 | |
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@v2 | |
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@v2 | |
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@v2 | |
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@v2 | |
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/setup-clojure@12.5 | |
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@v2 | |
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@v2 | |
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@v2 | |
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@v2 | |
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/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@v2 | |
with: | |
name: rsc-exe | |
path: src | |
- name: Set up permissions on rsc.exe | |
run: | | |
chmod +x src/rsc.exe | |
# from https://github.com/ocaml/setup-ocaml | |
- name: Install Ocaml | |
uses: ocaml/setup-ocaml@v3 | |
with: | |
ocaml-compiler: "5.2.0" | |
- name: Run tests | |
run: | | |
cd src; HOST=ml make check RSC_COMPILER="./rsc.exe" | |
# Disabled for now, doesn't work | |
# 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@v2 | |
# 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@v2 | |
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@v2 | |
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" | |