Trying to remove polymorphic recursion where possible #3071
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: Continuous Integration | |
on: [push, pull_request] | |
jobs: | |
build-jar: | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
name: Build Effekt compiler and run tests | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'true' | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 11 | |
- name: Install MLton | |
run: | | |
curl -L https://github.com/MLton/mlton/releases/download/on-20210117-release/mlton-20210117-1.amd64-linux-glibc2.31.tgz --output mlton.tgz | |
tar -xzf mlton.tgz | |
mv mlton-20210117-1.amd64-linux-glibc2.31 $GITHUB_WORKSPACE/mlton | |
chmod +x $GITHUB_WORKSPACE/mlton/bin/mlton | |
echo "Trying to call directly" | |
$GITHUB_WORKSPACE/mlton/bin/mlton | |
echo "Adding mlton to path" | |
echo "$GITHUB_WORKSPACE/mlton/bin" >> $GITHUB_PATH | |
- name: Update apt database | |
run: sudo apt-get update | |
- name: Install Chez Scheme | |
run: sudo apt-get install chezscheme | |
- name: Install LLVM 15 | |
run: sudo apt-get install llvm-15 | |
- name: Set up NodeJS | |
uses: actions/setup-node@v1 | |
with: | |
node-version: '10.x' | |
- name: Obtain a GitHub App Installation Access Token for downloading the JIT binary | |
id: githubAppAuth | |
run: | | |
TOKEN="$(npx obtain-github-app-installation-access-token ci ${{ secrets.JITTING_EFFECTS_GH_APP_CREDENTIALS_TOKEN }})" | |
echo "::add-mask::$TOKEN" | |
echo "::set-output name=token::$TOKEN" | |
- name: Download JIT binary | |
env: | |
GH_TOKEN: ${{ steps.githubAppAuth.outputs.token }} | |
run: sbt effektJVM/downloadJITBinary | |
- name: Run tests | |
run: sbt clean test | |
- name: Assemble fully optimized js file | |
run: sbt effektJS/fullOptJS | |
- name: Try installing effekt binary | |
run: sbt install | |
- name: Run effekt binary | |
run: effekt.sh --help |