From f411c8d062394de7b90f1eb8e09a20837798d694 Mon Sep 17 00:00:00 2001 From: anutosh491 Date: Wed, 22 Jan 2025 13:17:10 +0530 Subject: [PATCH 1/8] Use emsdk from emscripten-forge for deploy build --- .github/workflows/deploy-github-page.yml | 30 ++++++++++-------------- environment-wasm-build.yml | 7 ++++++ environment-wasm-host.yml | 1 + 3 files changed, 21 insertions(+), 17 deletions(-) create mode 100644 environment-wasm-build.yml diff --git a/.github/workflows/deploy-github-page.yml b/.github/workflows/deploy-github-page.yml index 74570255..c1014d8c 100644 --- a/.github/workflows/deploy-github-page.yml +++ b/.github/workflows/deploy-github-page.yml @@ -2,15 +2,16 @@ name: Build and Deploy on: workflow_dispatch: + pull_request: push: branches: - main - + permissions: contents: read pages: write id-token: write - + jobs: build: runs-on: ${{ matrix.os }} @@ -20,38 +21,30 @@ jobs: matrix: include: - name: Github-page - os: macos-15 + os: ubuntu-24.04 emsdk_ver: "3.1.45" steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - + - name: install mamba uses: mamba-org/setup-micromamba@main with: + environment-file: environment-wasm-build.yml init-shell: bash + environment-name: xeus-cpp-wasm-build - name: Setup default Build Type on *nux if: ${{ runner.os != 'windows' }} run: | echo "ncpus=$(nproc --all)" >> $GITHUB_ENV - - - name: Setup emsdk - shell: bash -l {0} - run: | - cd $HOME - git clone --depth=1 https://github.com/emscripten-core/emsdk.git - cd emsdk - ./emsdk install ${{ matrix.emsdk_ver }} - name: Build xeus-cpp shell: bash -l {0} run: | - $HOME/emsdk/emsdk activate ${{matrix.emsdk_ver}} - source $HOME/emsdk/emsdk_env.sh micromamba create -f environment-wasm-host.yml --platform=emscripten-wasm32 - + mkdir build pushd build @@ -66,9 +59,9 @@ jobs: -DCMAKE_FIND_ROOT_PATH=$PREFIX \ -DSYSROOT_PATH=$SYSROOT_PATH \ .. - emmake make -j ${{ env.ncpus }} install + emmake make -j ${{ env.ncpus }} install - - name: Jupyter Lite integration + - name: Jupyter Lite integration shell: bash -l {0} run: | micromamba create -n xeus-lite-host jupyterlite-core jupyter_server @@ -89,12 +82,15 @@ jobs: deploy: needs: build + if: github.ref == 'refs/heads/main' permissions: pages: write id-token: write + environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-24.04 steps: - name: Deploy to GitHub Pages diff --git a/environment-wasm-build.yml b/environment-wasm-build.yml new file mode 100644 index 00000000..b30054a7 --- /dev/null +++ b/environment-wasm-build.yml @@ -0,0 +1,7 @@ +name: xeus-r-wasm-build +channels: + - https://repo.mamba.pm/emscripten-forge + - conda-forge +dependencies: + - cmake + - emscripten_emscripten-wasm32==3.1.45 \ No newline at end of file diff --git a/environment-wasm-host.yml b/environment-wasm-host.yml index 9167a746..a7ea2462 100644 --- a/environment-wasm-host.yml +++ b/environment-wasm-host.yml @@ -3,6 +3,7 @@ channels: - https://repo.mamba.pm/emscripten-forge - https://repo.mamba.pm/conda-forge dependencies: + - emscripten-abi==3.1.45 - nlohmann_json - xeus-lite - xeus From 1d98e9d1658c222e9cfd1d1ebc76346531938537 Mon Sep 17 00:00:00 2001 From: Anutosh Bhat Date: Wed, 22 Jan 2025 13:28:11 +0530 Subject: [PATCH 2/8] Update deploy-github-page.yml --- .github/workflows/deploy-github-page.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-github-page.yml b/.github/workflows/deploy-github-page.yml index c1014d8c..db322383 100644 --- a/.github/workflows/deploy-github-page.yml +++ b/.github/workflows/deploy-github-page.yml @@ -21,7 +21,7 @@ jobs: matrix: include: - name: Github-page - os: ubuntu-24.04 + os: ubuntu-24.04-arm emsdk_ver: "3.1.45" steps: - uses: actions/checkout@v4 @@ -91,7 +91,7 @@ jobs: name: github-pages url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-24.04 + runs-on: ubuntu-24.04-arm steps: - name: Deploy to GitHub Pages id: deployment From b62ab0469efcbea1c3c92aa793d9e17141359020 Mon Sep 17 00:00:00 2001 From: Anutosh Bhat Date: Wed, 22 Jan 2025 13:33:03 +0530 Subject: [PATCH 3/8] Update deploy-github-page.yml --- .github/workflows/deploy-github-page.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-github-page.yml b/.github/workflows/deploy-github-page.yml index db322383..c1014d8c 100644 --- a/.github/workflows/deploy-github-page.yml +++ b/.github/workflows/deploy-github-page.yml @@ -21,7 +21,7 @@ jobs: matrix: include: - name: Github-page - os: ubuntu-24.04-arm + os: ubuntu-24.04 emsdk_ver: "3.1.45" steps: - uses: actions/checkout@v4 @@ -91,7 +91,7 @@ jobs: name: github-pages url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-24.04 steps: - name: Deploy to GitHub Pages id: deployment From 83f6678f11261d4a023d31f20a2dc15a9b06fea5 Mon Sep 17 00:00:00 2001 From: anutosh491 Date: Wed, 22 Jan 2025 13:38:20 +0530 Subject: [PATCH 4/8] Address reviews --- environment-wasm-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/environment-wasm-build.yml b/environment-wasm-build.yml index b30054a7..a074ec55 100644 --- a/environment-wasm-build.yml +++ b/environment-wasm-build.yml @@ -1,4 +1,4 @@ -name: xeus-r-wasm-build +name: xeus-cpp-wasm-build channels: - https://repo.mamba.pm/emscripten-forge - conda-forge From 5116de548c79eb964cf2b069eb9b19c2ef3bf62a Mon Sep 17 00:00:00 2001 From: mcbarton Date: Wed, 22 Jan 2025 08:09:06 +0000 Subject: [PATCH 5/8] Update emscripten build jobs to one for each platform --- .github/workflows/main.yml | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fd0ebf8c..3f547655 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -191,19 +191,7 @@ jobs: matrix: include: - name: ubu24 - os: ubuntu-24.04 - emsdk_ver: "3.1.45" - micromamba_shell_init: bash - - name: ubu22 - os: ubuntu-22.04 - emsdk_ver: "3.1.45" - micromamba_shell_init: bash - - name: osx13-x86 - os: macos-13 - emsdk_ver: "3.1.45" - micromamba_shell_init: bash - - name: osx14-arm - os: macos-14 + os: ubuntu-24.04-arm emsdk_ver: "3.1.45" micromamba_shell_init: bash - name: osx15-arm From df9f635ce806a251a4f11c0d01fe255f22cc8cef Mon Sep 17 00:00:00 2001 From: Anutosh Bhat Date: Wed, 22 Jan 2025 13:39:45 +0530 Subject: [PATCH 6/8] Update deploy-github-page.yml --- .github/workflows/deploy-github-page.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-github-page.yml b/.github/workflows/deploy-github-page.yml index c1014d8c..db322383 100644 --- a/.github/workflows/deploy-github-page.yml +++ b/.github/workflows/deploy-github-page.yml @@ -21,7 +21,7 @@ jobs: matrix: include: - name: Github-page - os: ubuntu-24.04 + os: ubuntu-24.04-arm emsdk_ver: "3.1.45" steps: - uses: actions/checkout@v4 @@ -91,7 +91,7 @@ jobs: name: github-pages url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-24.04 + runs-on: ubuntu-24.04-arm steps: - name: Deploy to GitHub Pages id: deployment From 010f0623eaa469eb768ac5689aeaca1451cf58c7 Mon Sep 17 00:00:00 2001 From: Anutosh Bhat Date: Wed, 22 Jan 2025 13:53:18 +0530 Subject: [PATCH 7/8] Revert back to ubunut-24.04 --- .github/workflows/deploy-github-page.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-github-page.yml b/.github/workflows/deploy-github-page.yml index db322383..c1014d8c 100644 --- a/.github/workflows/deploy-github-page.yml +++ b/.github/workflows/deploy-github-page.yml @@ -21,7 +21,7 @@ jobs: matrix: include: - name: Github-page - os: ubuntu-24.04-arm + os: ubuntu-24.04 emsdk_ver: "3.1.45" steps: - uses: actions/checkout@v4 @@ -91,7 +91,7 @@ jobs: name: github-pages url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-24.04 steps: - name: Deploy to GitHub Pages id: deployment From 731f2c428639e4425eb36c1517ab45d3b6a8b666 Mon Sep 17 00:00:00 2001 From: Anutosh Bhat Date: Wed, 22 Jan 2025 15:14:29 +0530 Subject: [PATCH 8/8] Update deploy-github-page.yml --- .github/workflows/deploy-github-page.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy-github-page.yml b/.github/workflows/deploy-github-page.yml index c1014d8c..d7753af8 100644 --- a/.github/workflows/deploy-github-page.yml +++ b/.github/workflows/deploy-github-page.yml @@ -48,9 +48,10 @@ jobs: mkdir build pushd build + export BUILD_PREFIX=$MAMBA_ROOT_PREFIX/envs/xeus-cpp-wasm-build export PREFIX=$MAMBA_ROOT_PREFIX/envs/xeus-cpp-wasm-host echo "PREFIX=$PREFIX" >> $GITHUB_ENV - export SYSROOT_PATH=$HOME/emsdk/upstream/emscripten/cache/sysroot + export SYSROOT_PATH=$BUILD_PREFIX/opt/emsdk/upstream/emscripten/cache/sysroot emcmake cmake \ -DCMAKE_BUILD_TYPE=Release \