luau/.github/workflows/prototyping.yml
2022-02-08 11:49:32 -06:00

58 lines
1.9 KiB
YAML

name: prototyping
on:
push:
branches:
- 'master'
- 'prototyping'
paths:
- '.github/workflows/**'
- 'prototyping/**'
pull_request:
paths:
- '.github/workflows/**'
- 'prototyping/**'
jobs:
linux:
strategy:
matrix:
aesonVersion: [2.0.3.0]
scientificVersion: [0.3.7.0]
vectorVersion: [0.12.3.1]
agdaVersion: [2.6.2.1]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/cache@v2
with:
path: ~/.cabal/store
key: ${{ runner.os }}-${{ matrix.aesonVersion }}-${{ matrix.scientificVersion }}-${{ matrix.vectorVersion }}-${{ matrix.agdaVersion }}
- name: install cabal
run: sudo apt-get install -y cabal-install
- name: cabal update
working-directory: prototyping
run: cabal update
- name: cabal install
working-directory: prototyping
run: |
cabal install --lib scientific-${{ matrix.scientificVersion }} --package-env .
cabal install --lib vector-${{ matrix.vectorVersion }} --package-env .
cabal install --lib aeson-${{ matrix.aesonVersion }} --package-env .
cabal install Agda-${{ matrix.agdaVersion }}
- name: check examples
working-directory: prototyping
run: ~/.cabal/bin/agda Examples.agda
- name: build PrettyPrinter
working-directory: prototyping
run: ~/.cabal/bin/agda --compile --ghc-flag=-v PrettyPrinter.agda
- name: cmake configure
run: cmake .
- name: cmake build luau-ast
run: cmake --build . --target Luau.Ast.CLI
- name: run smoketest
working-directory: prototyping
run: ../luau-ast Examples/SmokeTest.lua | ./PrettyPrinter > Examples/SmokeTestOutput.lua
- name: diff smoketest
working-directory: prototyping
run: diff Examples/SmokeTest.lua Examples/SmokeTestOutput.lua