downgrade submodule #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and test | |
on: | |
push: | |
tags: | |
- "v*" | |
branches: | |
- main | |
pull_request: | |
jobs: | |
ci: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: dtolnay/[email protected] | |
- name: get-cmake | |
uses: lukka/get-cmake@latest | |
- uses: mymindstorm/setup-emsdk@v14 | |
- name: Verify | |
run: | | |
cmake -version | |
emcc -v | |
- name: Check | |
run: | | |
rustup component add clippy | |
cargo clippy --no-deps | |
- name: raxb validate WASM LibXml2 directories | |
working-directory: ./third_party | |
run: | | |
mkdir -p ./libxml2-build | |
mkdir -p ./libxml2/m4 | |
- name: raxb validate WASM LibXml2 autoreconf | |
working-directory: ./third_party/libxml2 | |
run: | | |
autoreconf -if -Wall | |
- name: raxb validate WASM LibXml2 directories | |
working-directory: ./third_party/libxml2-build | |
run: | | |
emconfigure ../libxml2/configure --disable-shared \ | |
--with-minimum --with-http=no --with-ftp=no --with-catalog=no \ | |
--with-python=no --with-threads=no \ | |
--with-output --with-c14n --with-zlib=no \ | |
--with-schemas --with-schematron | |
emmake make | |
- name: raxb validate WASM compile | |
working-directory: . | |
run: | | |
mkdir -p dist | |
cp package.json dist/package.json | |
emcc -Oz -s WASM=1 -s EMULATE_FUNCTION_POINTER_CASTS=1 \ | |
-s MODULARIZE=1 \ | |
-s IMPORTED_MEMORY \ | |
-s ALLOW_MEMORY_GROWTH \ | |
-s MAXIMUM_MEMORY=4GB \ | |
-s NO_EXIT_RUNTIME=0 \ | |
-s EXPORT_ES6=1 \ | |
-s EXPORT_NAME=Module \ | |
-Ithird_party/lz4 \ | |
-I./third_party/libxml2/include \ | |
-I./third_party/libxml2-build/include \ | |
--closure 1 \ | |
--no-entry \ | |
-lembind \ | |
--emit-tsd raxb-validate-wasm.d.ts \ | |
./src/lib.cpp ./third_party/lz4/lz4.cpp ./third_party/libxml2-build/.libs/libxml2.a \ | |
-o dist/raxb-validate-wasm.js \ | |
-s ENVIRONMENT=web,node | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: raxb-validate-wasm | |
path: ./dist | |
publish: | |
if: startsWith( github.ref, 'refs/tags/v' ) | |
uses: ./.github/workflows/publish.yaml | |
needs: ci | |
secrets: inherit |