Skip to content

feat: Use deferredEq which delegates to Lambda's .eq at evaluation ti… #21

feat: Use deferredEq which delegates to Lambda's .eq at evaluation ti…

feat: Use deferredEq which delegates to Lambda's .eq at evaluation ti… #21

name: TypeScript Conformance Testing
on:
push:
branches: [typescript-frontend]
workflow_dispatch: # Keep manual option too
jobs:
run_conformance_tests:
runs-on: ubuntu-22.04
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 'latest'
- name: Install Node.js dependencies
run: |
npm install -g ts-node typescript
npm install @babel/parser @babel/types @babel/traverse @babel/generator
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install Python dependencies
run: |
pip install tqdm
- name: Install Lean
shell: bash
run: |
wget https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh
bash elan-init.sh -y
- name: Build Strata
run: |
source ~/.profile && lake build StrataTypeScriptRunner
#- name: Debug with upterm (before tests)
# uses: lhotari/action-upterm@v1
# with:
# limit-access-to-actor: true
- name: Run TypeScript Conformance Tests
run: |
cd conformance_testing
source ~/.profile && python3 conformance_cli.py test ../StrataTest/Languages/TypeScript -l typescript -v
#- name: Debug with upterm (on failure)
# if: failure()
# uses: lhotari/action-upterm@v1
# with:
# limit-access-to-actor: true
- name: Upload failed test files
if: always()
uses: actions/upload-artifact@v4
with:
name: failed-typescript-tests
path: conformance_testing/failures/
if-no-files-found: ignore