@@ -289,95 +289,3 @@ jobs:
289289 - name : Run Unit tests
290290 run : |
291291 ${{ github.workspace }}/../build/test/unitTest
292- webassembly :
293- if : false
294- runs-on : ubuntu-22.04
295- steps :
296- - uses : mymindstorm/setup-emsdk@v11
297- - uses : actions/checkout@v5
298- - name : Verify
299- run : emcc -v
300- - name : " Set environmental variables"
301- run : |
302- echo "WASM_INSTALL_DIR=${{ github.workspace }}/install" >> $GITHUB_ENV
303- echo "WASM_LIB_DIR=${{ github.workspace }}/install/lib" >> $GITHUB_ENV
304- echo "WASM_INCLUDE_DIR=${{ github.workspace }}/install/include" >> $GITHUB_ENV
305- - name : HDF5 install
306- env :
307- HDF5_DOWNLOAD_URL : https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5-1_12_1.tar.gz
308- run : |
309- wget --no-verbose ${{ env.HDF5_DOWNLOAD_URL }} -O hdf5_src.tgz
310- tar -xvzf hdf5_src.tgz
311- mkdir -p hdf5_build
312- cd hdf5_build
313- LDFLAGS="-s NODERAWFS=1 -s USE_ZLIB=1" emcmake cmake ../hdf5-hdf5-1_12_1 \
314- -DCMAKE_BUILD_TYPE=Release \
315- -DCMAKE_INSTALL_PREFIX=${{ env.WASM_INSTALL_DIR }} \
316- -DH5_HAVE_GETPWUID=0 \
317- -DH5_HAVE_SIGNAL=0 \
318- -DBUILD_SHARED_LIBS=0 \
319- -DBUILD_STATIC_LIBS=1 \
320- -DBUILD_TESTING=0 \
321- -DHDF5_BUILD_EXAMPLES=0 \
322- -DHDF5_BUILD_TOOLS=0 \
323- -DHDF5_ENABLE_Z_LIB_SUPPORT=1
324- emmake make -j8 install
325- - name : Minizip install
326- run : |
327- git clone https://github.com/F2I-Consulting/Minizip.git
328- mkdir -p minizip_build
329- cd minizip_build
330- LDFLAGS="-s USE_ZLIB=1" emcmake cmake ../Minizip \
331- -DCMAKE_INSTALL_PREFIX=${{ env.WASM_INSTALL_DIR }}
332- emmake make -j8 install
333- - name : CMake build
334- env :
335- FESAPI_BUILD_DIR : fesapi_build
336- run : |
337- cd ${{ github.workspace }}
338- # see https://sourceforge.net/p/gsoap2/bugs/1301/
339- #wget https://gist.github.com/untereiner/3af2e52fbd135235457d2a707d5480d4/raw/7f7e0706b3421593c4c617b9703e5a90e30bfa51/gsoap_wasm.patch
340- #git apply gsoap_wasm.patch
341- mkdir -p fesapi_build
342- cd fesapi_build
343- LDFLAGS="-s USE_ZLIB=1 -s USE_BOOST_HEADERS=1" emcmake cmake ../ \
344- -DCMAKE_BUILD_TYPE=Release \
345- -DCMAKE_INSTALL_PREFIX=${{ env.WASM_INSTALL_DIR }} \
346- -DWITH_LOCAL_HDF5=ON \
347- -DHDF5_INCLUDE_DIRS=${{ env.WASM_INCLUDE_DIR }} \
348- -DHDF5_LIBRARIES=${{ env.WASM_LIB_DIR }}/libhdf5.a \
349- -DMINIZIP_INCLUDE_DIR=${{ env.WASM_INCLUDE_DIR }} \
350- -DMINIZIP_LIBRARY_RELEASE=${{ env.WASM_LIB_DIR }}/libminizip.a \
351- -DWITH_EXAMPLE=0 \
352- -DWITH_RESQML2_2=1 \
353- -DWITH_TEST=0 \
354- -DWITH_WASM_WRAPPING=1
355- emmake make -j8 fesapi-wasm
356- emmake make -j8 fesapi-wasm-node
357- - name : ' Upload Artifact'
358- uses : actions/upload-artifact@v4
359- with :
360- name : fesapi-mjs
361- path : |
362- ${{ github.workspace }}/webassembly/dist/esm/fesapi.mjs
363- ${{ github.workspace }}/webassembly/dist/esm/fesapi.wasm
364- # Setup .npmrc file to publish to npm
365- # - name: 'Setup node'
366- # uses: actions/setup-node@v3
367- # with:
368- # node-version: '16.x'
369- # registry-url: 'https://registry.npmjs.org'
370- # cache-dependency-path: ${{ github.workspace }}/webassembly/package-lock.json
371- # - name: Configure NPM
372- # working-directory: ${{ github.workspace }}/webassembly/
373- # run: |
374- # echo "//npm.pkg.github.com/:_authToken=\${NODE_AUTH_TOKEN}" >> .npmrc
375- # echo "always-auth: true" >> .npmrc
376- # env:
377- # NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
378- # - run: npm ci
379- # working-directory: ${{ github.workspace }}/webassembly/
380- # - run: npm publish --access public
381- # working-directory: ${{ github.workspace }}/webassembly/
382- # env:
383- # NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
0 commit comments