select case tested working #511
This file contains hidden or 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
| # Run headless browser WASM tests on every push to main (charset, canvas, terminal, tutorial). | |
| name: WASM browser tests | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| wasm-playwright: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Emscripten (emsdk) | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y python3 git | |
| git clone --depth 1 https://github.com/emscripten-core/emsdk.git "$GITHUB_WORKSPACE/emsdk" | |
| cd "$GITHUB_WORKSPACE/emsdk" | |
| ./emsdk install latest | |
| ./emsdk activate latest | |
| - name: Build native interpreter + gfx_video_test | |
| run: | | |
| set -e | |
| make | |
| make gfx_video_test | |
| - name: Run native regression tests (.bas + gfx_peek) | |
| run: | | |
| set -e | |
| ./gfx_video_test | |
| for t in tests/if_inside_ident_normalize.bas tests/if_skip_inline_nested.bas; do | |
| echo "Running $t" | |
| ./basic -petscii "$t" >/dev/null | |
| done | |
| - name: Build WASM targets | |
| run: | | |
| source "$GITHUB_WORKSPACE/emsdk/emsdk_env.sh" | |
| emcc --version | |
| make basic-wasm basic-wasm-modular basic-wasm-canvas | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install Playwright | |
| run: | | |
| pip install -r tests/requirements-wasm.txt | |
| python -m playwright install chromium --with-deps | |
| - name: Run WASM browser tests | |
| run: | | |
| python3 tests/wasm_browser_test.py | |
| python3 tests/wasm_browser_canvas_test.py | |
| python3 tests/wasm_canvas_charset_test.py | |
| python3 tests/wasm_tutorial_embed_test.py |