Skip to content
Snippets Groups Projects

Add options to wasm build

Merged Mateusz Tyszczak requested to merge tm-add-options-to-wasm-build into develop
1 file
+ 36
4
Compare changes
  • Side-by-side
  • Inline
include:
include:
- local: templates/npm_projects.gitlab-ci.yml
- local: templates/npm_projects.gitlab-ci.yml
 
.wasm_compare_job_template:
 
extends: .npm_based_job_base
 
variables:
 
# Output directory where should be stored binaries - it should be overrided by derived job
 
BINARIES_DIR: ""
 
 
script:
 
- |
 
first_checksum=""
 
find "${BINARIES_DIR}" -type f -name '*.wasm' | while read -r wasm_file; do
 
checksum=$(sha256sum "$wasm_file" | awk '{ print $1 }')
 
 
if [[ -z "$first_checksum" ]]; then
 
first_checksum="$checksum"
 
fi
 
 
if [[ "$checksum" != "$first_checksum" ]]; then
 
echo "Error: Checksum mismatch found for file $wasm_file"
 
exit 1
 
fi
 
done
 
echo "All .wasm files have the same SHA-256 checksum: $first_checksum"
 
.wasm_build_job_template:
.wasm_build_job_template:
extends: .npm_based_job_base
extends: .npm_based_job_base
variables:
variables:
@@ -8,17 +31,26 @@ include:
@@ -8,17 +31,26 @@ include:
SOURCE_DIR: ""
SOURCE_DIR: ""
# Output directory where should be stored binaries - it should be overrided by derived job
# Output directory where should be stored binaries - it should be overrided by derived job
BINARIES_DIR: ""
BINARIES_DIR: ""
 
# Target component name from client cmake to be installed in the BINARIES_DIR
 
COMPONENT_INSTALL_NAME: ""
 
# Target environment for WASM to build - shouble be either web or node
 
TARGET_ENVIRONMENT: "web"
 
# Should include filesystem support based on the target environment (idbfs or node fs) - set to either 1 (enabled) or 0 (disabled)
 
WASM_USE_FS: "0"
script:
script:
- mkdir -vp "${BINARIES_DIR}"
- mkdir -vp "${BINARIES_DIR}/${TARGET_ENVIRONMENT}"
- cd "${BINARIES_DIR}"
- cd "${BINARIES_DIR}/${TARGET_ENVIRONMENT}"
- cmake -DBoost_NO_WARN_NEW_VERSIONS=1 -DBoost_USE_STATIC_RUNTIME=ON -DCMAKE_TOOLCHAIN_FILE=/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" -S "${SOURCE_DIR}" -B "${BINARIES_DIR}"
- cmake -DBoost_NO_WARN_NEW_VERSIONS=1 -DBoost_USE_STATIC_RUNTIME=ON -DCMAKE_TOOLCHAIN_FILE=/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DWASM_USE_FS="${WASM_USE_FS}" -DTARGET_ENVIRONMENT="${TARGET_ENVIRONMENT}" -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" -S "${SOURCE_DIR}" -B "${BINARIES_DIR}/${TARGET_ENVIRONMENT}"
- make -j 8
- make -j 8
 
- cmake --install "${BUILD_DIR}/${TARGET_ENVIRONMENT}" --component "${COMPONENT_INSTALL_NAME}.common_runtime" --prefix "${BUILD_DIR}"
artifacts:
artifacts:
paths:
paths:
 
- "${BINARIES_DIR}/${TARGET_ENVIRONMENT}/*.d.ts"
 
- "${BINARIES_DIR}/${TARGET_ENVIRONMENT}/*.js"
 
- "${BINARIES_DIR}/${TARGET_ENVIRONMENT}/*.wasm"
- "${BINARIES_DIR}/*.d.ts"
- "${BINARIES_DIR}/*.d.ts"
- "${BINARIES_DIR}/*.mjs"
- "${BINARIES_DIR}/*.js"
- "${BINARIES_DIR}/*.js"
- "${BINARIES_DIR}/*.wasm"
- "${BINARIES_DIR}/*.wasm"
when: always
when: always
Loading