diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2ce936af..4e610e34 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,7 +12,7 @@ jobs: CL -std:c++17 -GR- -EHsc -O2 -Fe:pocketpy src/main.cpp python3 scripts/run_tests.py ./pocketpy tests/1.py - build_test_linux: + build_linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -20,4 +20,24 @@ jobs: run: | bash build_cpp.sh python3 scripts/run_tests.py - ./pocketpy tests/1.py \ No newline at end of file + ./pocketpy tests/1.py + build_web: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Setup emsdk + uses: mymindstorm/setup-emsdk@v11 + with: + version: 3.1.25 + actions-cache-folder: 'emsdk-cache' + - name: Verify emsdk + run: emcc -v + - name: Compiling + run: | + bash build_wasm.sh + - uses: crazy-max/ghaction-github-pages@v3 + with: + target_branch: gh-pages + build_dir: web + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/build_wasm.sh b/build_wasm.sh index 4993d859..4bb3b33f 100644 --- a/build_wasm.sh +++ b/build_wasm.sh @@ -1,3 +1,3 @@ rm -rf web/lib/ mkdir -p web/lib/ -em++ src/main.cpp -fno-rtti -fexceptions -sASYNCIFY_STACK_SIZE=131072 -O3 -sEXPORTED_FUNCTIONS=_pkpy_delete,_pkpy_new_repl,_pkpy_repl_input,_pkpy_repl_last_input_result,_pkpy_new_tvm,_pkpy_tvm_exec_async,_pkpy_tvm_get_state,_pkpy_tvm_read_jsonrpc_request,_pkpy_tvm_reset_state,_pkpy_tvm_terminate,_pkpy_tvm_write_jsonrpc_response,_pkpy_new_vm,_pkpy_vm_add_module,_pkpy_vm_eval,_pkpy_vm_exec,_pkpy_vm_get_global,_pkpy_vm_read_output -sASYNCIFY -sEXPORTED_RUNTIME_METHODS=ccall -sASYNCIFY_IMPORTS=pkpy_tvm_exec_async,pkpy_repl_input -o web/lib/pocketpy.js \ No newline at end of file +em++ src/main.cpp -fno-rtti -fexceptions -O3 -sEXPORTED_FUNCTIONS=_pkpy_delete,_pkpy_new_repl,_pkpy_repl_input,_pkpy_new_vm,_pkpy_vm_add_module,_pkpy_vm_eval,_pkpy_vm_exec,_pkpy_vm_get_global,_pkpy_vm_read_output -sEXPORTED_RUNTIME_METHODS=ccall -o web/lib/pocketpy.js \ No newline at end of file