Skip to content

Commit 997421a

Browse files
committed
Try deploying preview through Github page preview
1 parent daeb1e8 commit 997421a

File tree

2 files changed

+16
-79
lines changed

2 files changed

+16
-79
lines changed

.github/workflows/emscripten.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -830,3 +830,18 @@ jobs:
830830
micromamba activate CppInterOp-wasm
831831
cd ./xeus-cpp/build/test
832832
node test_xeus_cpp.js
833+
834+
- name: Jupyter Lite integration
835+
shell: bash -l {0}
836+
run: |
837+
cd ./xeus-cpp/
838+
micromamba create -n xeus-lite-host jupyterlite-core -c conda-forge
839+
micromamba activate xeus-lite-host
840+
python -m pip install jupyterlite-xeus jupyterlite-core jupyterlab notebook libarchive-c
841+
jupyter lite build --XeusAddon.prefix=${{ env.PREFIX }} --contents notebooks/xeus-cpp-lite-demo.ipynb --contents notebooks/smallpt.ipynb --contents notebooks/images/marie.png --contents notebooks/audio/audio.wav --output-dir dist
842+
843+
- name: Deploy preview
844+
if: ${{ runner.os == 'macOS' }}
845+
uses: rossjrw/pr-preview-action@v1
846+
with:
847+
source-dir: ./xeus-cpp/dist/

docs/conf.py

Lines changed: 1 addition & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -53,85 +53,7 @@
5353
command = 'mkdir {0}/build; cd {0}/build; cmake ../ -DClang_DIR=/usr/lib/llvm-16/build/lib/cmake/clang\
5454
-DLLVM_DIR=/usr/lib/llvm-16/build/lib/cmake/llvm -DCPPINTEROP_ENABLE_DOXYGEN=ON\
5555
-DCPPINTEROP_INCLUDE_DOCS=ON'.format(CPPINTEROP_ROOT)
56-
command_emscripten = 'git clone https://github.com/emscripten-core/emsdk.git {0}/emsdk;\
57-
{0}/emsdk/emsdk install 3.1.73;\
58-
{0}/emsdk/emsdk activate 3.1.73;\
59-
cd {0}/emsdk/;\
60-
export PATH="{0}/emsdk/upstream/emscripten:$PATH;\
61-
export SYSROOT_PATH={0}/emsdk/upstream/emscripten/cache/sysroot;\
62-
git clone --depth=1 --branch release/20.x https://github.com/llvm/llvm-project.git {0}/llvm-project;\
63-
cd {0}/llvm-project;\
64-
git apply -v {0}/CppInterOp/patches/llvm/emscripten-clang20-*.patch\
65-
mkdir {0}/llvm-project/native_build;\
66-
cd {0}/llvm-project/native_build;\
67-
cmake -DLLVM_ENABLE_PROJECTS=clang -DLLVM_TARGETS_TO_BUILD=host -DCMAKE_BUILD_TYPE=Release {0}/llvm-project/llvm;\
68-
cmake --build . --target llvm-tblgen clang-tblgen --parallel $(nproc --all);\
69-
export NATIVE_DIR={0}/llvm-project/native_build/bin/;\
70-
mkdir {0}/llvm-project/build;\
71-
cd {0}/llvm-project/build;\
72-
emcmake cmake -DCMAKE_BUILD_TYPE=Release \
73-
-DLLVM_HOST_TRIPLE=wasm32-unknown-emscripten \
74-
-DLLVM_ENABLE_ASSERTIONS=ON \
75-
-DLLVM_TARGETS_TO_BUILD="WebAssembly" \
76-
-DLLVM_ENABLE_LIBEDIT=OFF \
77-
-DLLVM_ENABLE_PROJECTS="clang;lld" \
78-
-DLLVM_ENABLE_ZSTD=OFF \
79-
-DLLVM_ENABLE_LIBXML2=OFF \
80-
-DCLANG_ENABLE_STATIC_ANALYZER=OFF \
81-
-DCLANG_ENABLE_ARCMT=OFF \
82-
-DCLANG_ENABLE_BOOTSTRAP=OFF \
83-
-DCMAKE_CXX_FLAGS="-Dwait4=__syscall_wait4" \
84-
-DLLVM_INCLUDE_BENCHMARKS=OFF \
85-
-DLLVM_INCLUDE_EXAMPLES=OFF \
86-
-DLLVM_INCLUDE_TESTS=OFF \
87-
-DLLVM_ENABLE_THREADS=OFF \
88-
-DLLVM_BUILD_TOOLS=OFF \
89-
-DLLVM_ENABLE_LIBPFM=OFF \
90-
-DCLANG_BUILD_TOOLS=OFF \
91-
-DLLVM_NATIVE_TOOL_DIR=$NATIVE_DIR \
92-
{0}/llvm-project/llvm;\
93-
emmake make libclang -j $(nproc --all);\
94-
emmake make clangInterpreter clangStaticAnalyzerCore -j $(nproc --all);\
95-
emmake make lldWasm -j $(nproc --all);\
96-
export LLVM_BUILD_DIR={0}/llvm-project/build;\
97-
mkdir {0}/build_native;\
98-
cd {0};\
99-
micromamba create -f environment-wasm.yml --platform=emscripten-wasm32;\
100-
micromamba activate CppInterOp-wasm;\
101-
export PREFIX=$CONDA_PREFIX;\
102-
export CMAKE_PREFIX_PATH=$PREFIX;\
103-
export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX;\
104-
cd {0}/build_native;\
105-
emcmake cmake -DCMAKE_BUILD_TYPE=Release \
106-
-DLLVM_DIR=$LLVM_BUILD_DIR/lib/cmake/llvm \
107-
-DLLD_DIR=$LLVM_BUILD_DIR/lib/cmake/lld \
108-
-DClang_DIR=$LLVM_BUILD_DIR/lib/cmake/clang \
109-
-DBUILD_SHARED_LIBS=ON \
110-
-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ON \
111-
-DCMAKE_INSTALL_PREFIX=$PREFIX \
112-
-DSYSROOT_PATH=$SYSROOT_PATH \
113-
{0};\
114-
emake make -j $(nproc --all) install;\
115-
cd {0};\
116-
git clone --depth=1 https://github.com/compiler-research/xeus-cpp.git {0}/xeus-cpp;\
117-
mkdir {0}/xeus-cpp/build;\
118-
cd {0}/xeus-cpp/build;\
119-
emcmake cmake \
120-
-DCMAKE_BUILD_TYPE=Release \
121-
-DCMAKE_PREFIX_PATH=$PREFIX \
122-
-DCMAKE_INSTALL_PREFIX=$PREFIX \
123-
-DXEUS_CPP_EMSCRIPTEN_WASM_BUILD=ON \
124-
-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ON \
125-
-DXEUS_CPP_RESOURCE_DIR=$LLVM_BUILD_DIR/lib/clang/$LLVM_VERSION \
126-
-DSYSROOT_PATH=$SYSROOT_PATH \
127-
{0}/xeus-cpp/;\
128-
emmake make -j $(nproc --all) install;\
129-
cd {0};\
130-
micromamba create -n xeus-lite-host jupyterlite-core -c conda-forge;\
131-
micromamba activate xeus-lite-host;\
132-
python -m pip install jupyterlite-xeus jupyter_server;\
133-
jupyter lite build --XeusAddon.prefix=$PREFIX --contents xeus-cpp/notebooks/xeus-cpp-lite-demo.ipynb --contents notebooks/smallpt.ipynb --contents notebooks/images/marie.png --contents notebooks/audio/audio.wav --output-dir $READTHEDOCS_OUTPUT/html/xeus-cpp; '.format(CPPINTEROP_ROOT)
56+
13457
subprocess.call(command, shell=True)
13558
subprocess.call('doxygen {0}/build/docs/doxygen.cfg'.format(CPPINTEROP_ROOT), shell=True)
13659
subprocess.call('doxygen {0}/build/docs/doxygen.cfg'.format(CPPINTEROP_ROOT), shell=True)
137-
subprocess.call(command_emscripten.format(CPPINTEROP_ROOT), shell=True)

0 commit comments

Comments
 (0)