Skip to content

[0724] WASM Support for STEM (ImGui) #2

[0724] WASM Support for STEM (ImGui)

[0724] WASM Support for STEM (ImGui) #2

name: Build on Debian 13 for WASM
on:
push:
branches: [main]
paths:
- "src/**"
- "!src/Plugins/Macos/**"
- "!src/Plugins/Windows/**"
- "tests/**"
- "lolly/**"
- "moebius/**"
- "xmake.lua"
- 'xmake/options.lua'
- 'xmake/requires.lua'
- 'xmake/targets/**'
- "xmake/packages.lua"
- "xmake/packages/**"
- ".github/workflows/ci-debian13-wasm.yml"
- "TeXmacs/tests/*.scm"
- "3rdparty/**"
pull_request:
branches: [main]
paths:
- "src/**"
- "!src/Plugins/Macos/**"
- "!src/Plugins/Windows/**"
- "tests/**"
- "lolly/**"
- "moebius/**"
- "xmake.lua"
- 'xmake/options.lua'
- 'xmake/requires.lua'
- 'xmake/targets/**'
- "xmake/packages.lua"
- "xmake/packages/**"
- ".github/workflows/ci-debian13-wasm.yml"
- "TeXmacs/tests/*.scm"
- "3rdparty/**"
workflow_dispatch:
env:
XMAKE_ROOT: y
QT_QPA_PLATFORM: offscreen
INSTALL_DIR: tmp/build/packages/app.mogan/
jobs:
build:
container: debian:13
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: |
DEBIAN_FRONTEND=noninteractive apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y gcc git 7zip unzip curl build-essential \
fonts-noto-cjk libcurl4-openssl-dev libfreetype-dev libfontconfig-dev \
libmimalloc-dev libgit2-dev zlib1g-dev libssl-dev libjpeg62-turbo-dev cmake \
pandoc python3.13 python3.13-venv python3-pip ninja-build \
libdbus-1-3 libglib2.0-0t64 libegl1 libgl-dev libxkbcommon0
# Make python3 point to python3.13 so xmake uses system Python instead of compiling its own
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.13 1
# Pre-install aqtinstall to avoid xmake pulling its own Python 3.14
python3 -m pip install --break-system-packages aqtinstall
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: v3.0.7
- name: git add safe directory
run: git config --global --add safe.directory '*'
- name: set XMAKE_GLOBALDIR
run: echo "XMAKE_GLOBALDIR=${{ runner.workspace }}/xmake-global" >> $GITHUB_ENV
- name: xmake repo --update
run: xmake repo --update
- name: cache packages from xrepo
uses: actions/cache@v4
with:
path: |
${{ env.XMAKE_GLOBALDIR }}/.xmake/packages
key: ${{ runner.os }}-xrepo-wasm-${{ hashFiles('**/packages.lua') }}
- name: cache xmake
uses: actions/cache@v4
with:
path: |
tmp/build/.build_cache
key: ${{ runner.os }}-build-wasm-${{ hashFiles('**/packages.lua') }}
- name: install emscripten
run: xrepo install "emscripten 3.1.56" --yes
- name: config
run: xmake config -vD --policies=build.ccache -o tmp/build -m releasedbg -p wasm --yes
- name: build
run: xmake build --yes -vD stem