Skip to content

upsie

upsie #3029

Workflow file for this run

name: wasm_build
on:
push:
pull_request:
workflow_dispatch:
defaults:
run:
shell: bash
jobs:
###########################################################
pre_job:
###########################################################
# continue-on-error: true # Uncomment once integration is finished
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
# All of these options are optional, so you can remove them if you are happy with the defaults
concurrent_skipping: 'same_content'
do_not_skip: '["pull_request", "workflow_dispatch"]'
###########################################################
wasm_build:
###########################################################
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
target: [linux, darwin, windows]
architecture: [ 64 ]
cmake_preset: [ Release ]
include:
- target: linux
runner: ubuntu-latest
- target: darwin
runner: macos-latest
- target: windows
runner: windows-latest
- target: windows
architecture: 64
architecture_string: x64
steps:
- name: "SCM Checkout"
uses: actions/checkout@v3
- uses: lukka/get-cmake@latest
- name: "Install: Required Dev Packages"
run: |
set -eux
git clone https://github.com/emscripten-core/emsdk.git
case "${{ matrix.target }}${{ matrix.architecture }}" in
linux64)
echo "MARCH=64" >> $GITHUB_ENV
sudo apt-get update -y
sudo apt-get install --no-install-recommends -y \
libatomic-ops-dev \
libglu1-mesa-dev \
freeglut3-dev \
mesa-common-dev \
libglfw3-dev \
libfreetype6-dev \
libudev-dev \
libopenal-dev \
libvorbis-dev \
libflac-dev \
libclang-dev \
libx11-dev \
libxrandr-dev \
libxcursor-dev \
libxinerama-dev \
libxi-dev
./emsdk/emsdk install latest
./emsdk/emsdk activate latest
source "/home/runner/work/daScript/daScript/emsdk/emsdk_env.sh"
;;
windows*)
./emsdk/emsdk install latest
./emsdk/emsdk activate latest
./emsdk/emsdk_env.bat
;;
*)
./emsdk/emsdk install latest
./emsdk/emsdk activate latest
source "/Users/runner/work/daScript/daScript/emsdk/emsdk_env.sh"
;;
esac
- name: "Build: daslang web"
run: |
set -eux
cd web
cp ../CMakeXxdImpl.txt .
rm -r -f cmake_temp
mkdir cmake_temp
cd cmake_temp
cmake -DCMAKE_BUILD_TYPE:STRING=${{ matrix.cmake_preset }} -G Ninja -DCMAKE_TOOLCHAIN_FILE=../emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake ../
ninja