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.1.3, 2.6.2.1] runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: actions/cache@v2 with: path: | ~/.cabal/store build 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