Desugar toplevel constants to functions #4403
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: | |
branches: | |
- master | |
pull_request: | |
env: | |
JAVA_VERSION: '11' | |
NODE_VERSION: '12.x' | |
jobs: | |
run-hello-world: | |
strategy: | |
matrix: | |
os: [windows-latest] | |
name: Build Effekt compiler and run one test | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Set up JDK ${{ env.JAVA_VERSION }} | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ env.JAVA_VERSION }} | |
distribution: 'zulu' | |
cache: 'sbt' | |
- name: Set up NodeJS ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Run tests | |
run: sbt "effektJVM/clean; effektJVM/testOnly effekt.JavaScriptTests -- --tests=.*examples[\\/]*pos[\\/]*sideeffects.*; effektJVM/testOnly effekt.JavaScriptTests -- --tests=.*examples[\\/]*neg[\\/]*coverage.*" | |
build-jar: | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
name: Build Effekt compiler and run tests | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
- name: Set up JDK ${{ env.JAVA_VERSION }} | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ env.JAVA_VERSION }} | |
distribution: 'zulu' | |
cache: 'sbt' | |
- name: Install MLton | |
if: matrix.os != 'windows-latest' | |
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 | |
if: matrix.os != 'windows-latest' | |
run: sudo apt-get update | |
- name: Install Chez Scheme | |
if: matrix.os != 'windows-latest' | |
run: sudo apt-get install chezscheme | |
- name: Install LLVM 15 | |
if: matrix.os != 'windows-latest' | |
run: sudo apt-get install llvm-15 | |
- name: Install Valgrind | |
if: matrix.os != 'windows-latest' | |
run: sudo apt-get install valgrind | |
- name: Install libuv | |
run: sudo apt-get install libuv1-dev | |
- name: Set up NodeJS ${{ env.NODE_VERSION }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
- name: Run tests | |
run: EFFEKT_VALGRIND=1 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 |