chore(deps-dev): bump @semantic-release/github from 11.0.0 to 11.0.1 in the development-dependencies group #184
Workflow file for this run
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: CI | |
on: | |
workflow_call: | |
schedule: | |
- cron: "0 7 * * 1" | |
push: | |
branches: | |
- '*' | |
- '!main' | |
- '!beta' | |
- '!alpha' | |
pull_request: | |
permissions: | |
contents: read | |
jobs: | |
libxml2: | |
timeout-minutes: 10 | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository and submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
- name: Prepare build environemnt | |
uses: ./.github/actions/prepare-build-env | |
- name: Install required tools | |
run: sudo apt-get update && sudo apt-get install -y automake pkgconf libtool | |
- name: Configure build tools | |
run: | | |
cd thirdparty/libxml2 | |
# omit the auto included configure step | |
NOCONFIGURE=1 ./autogen.sh | |
emconfigure ./configure --disable-shared --prefix=$GITHUB_WORKSPACE/dist \ | |
--with-http=no --with-python=no --with-threads=no --with-zlib=no \ | |
--with-modules=no --with-c14n=no --with-catalog=no --with-debug=no \ | |
--with-html=no --with-iconv=no --with-iso8859x=no --with-legacy=no \ | |
--with-push=no --with-reader=no --with-readline=no --with-regexps=no \ | |
--with-valid=no --with-writer=no --with-xinclude=no --with-lzma=no \ | |
--with-schematron=no --with-schemas=yes | |
- name: Start compilation | |
run: | | |
cd thirdparty/libxml2 | |
emmake make install -j$(nproc) | |
- name: Upload build artifacts | |
uses: actions/[email protected] | |
with: | |
name: libxml2 | |
path: dist/ | |
if-no-files-found: error | |
retention-days: 1 | |
overwrite: true | |
SQLite: | |
timeout-minutes: 10 | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository and submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
- name: Prepare build environemnt | |
uses: ./.github/actions/prepare-build-env | |
- name: Install required tools | |
run: sudo apt-get update && DEBIAN_FRONTEND=noninteractive sudo apt-get install -y tcl | |
- name: Configure build tools and compile | |
run: | | |
cd thirdparty/sqlite | |
git apply ../../patches/sqlite_fix_build.patch | |
export OPT_FEATURE_FLAGS="-DSQLITE_OMIT_ALTERTABLE -DSQLITE_OMIT_ANALYZE -DSQLITE_UNTESTABLE -DSQLITE_OMIT_SHARED_CACHE \ | |
-DSQLITE_OMIT_AUTOVACUUM -DSQLITE_OMIT_BLOB_LITERAL -DSQLITE_OMIT_CHECK -DSQLITE_OMIT_COMPILEOPTION_DIAGS \ | |
-DSQLITE_OMIT_DATETIME_FUNCS -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_EXPLAIN -DSQLITE_OMIT_FLAG_PRAGMAS \ | |
-DSQLITE_OMIT_GENERATED_COLUMNS -DSQLITE_OMIT_HEX_INTEGER -DSQLITE_OMIT_INTEGRITY_CHECK -DSQLITE_OMIT_INTROSPECTION_PRAGMAS \ | |
-DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_REINDEX -DSQLITE_OMIT_TCL_VARIABLE -DSQLITE_OMIT_TRACE \ | |
-DSQLITE_OMIT_TRUNCATE_OPTIMIZATION -DSQLITE_OMIT_UTF16 -DSQLITE_OMIT_AUTHORIZATION" | |
export CFLAGS="-DSQLITE_ENABLE_RTREE -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 \ | |
-DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA $OPT_FEATURE_FLAGS" | |
./configure --disable-shared --prefix=$GITHUB_WORKSPACE/dist | |
# build amalgamation without emscripten | |
make sqlite3.c | |
emconfigure ./configure --disable-shared --prefix=$GITHUB_WORKSPACE/dist | |
emmake make install -j$(nproc) | |
- name: Upload build artifacts | |
uses: actions/[email protected] | |
with: | |
name: SQLite | |
path: dist/ | |
if-no-files-found: error | |
retention-days: 1 | |
overwrite: true | |
GEOS: | |
timeout-minutes: 10 | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository and submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
- name: Prepare build environemnt | |
uses: ./.github/actions/prepare-build-env | |
- name: Configure build tools | |
run: | | |
cd thirdparty/geos | |
mkdir -p build && cd build | |
emcmake cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF \ | |
-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/dist -DBUILD_TESTING=OFF .. | |
- name: Start compilation | |
run: | | |
cd thirdparty/geos/build | |
emmake make install -j$(nproc) | |
- name: Upload build artifacts | |
uses: actions/[email protected] | |
with: | |
name: GEOS | |
path: dist/ | |
if-no-files-found: error | |
retention-days: 1 | |
overwrite: true | |
PROJ: | |
needs: [SQLite] | |
timeout-minutes: 10 | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository and submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
- name: Prepare build environemnt | |
uses: ./.github/actions/prepare-build-env | |
- name: Restore previous build artifacts | |
uses: actions/[email protected] | |
with: | |
name: SQLite | |
path: dist/ | |
- name: Configure build tools | |
run: | | |
cd thirdparty/PROJ | |
git apply ../../patches/proj_fix_build.patch | |
mkdir -p build && cd build | |
emcmake cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF \ | |
-DCMAKE_CXX_FLAGS=-fwasm-exceptions \ | |
-DBUILD_TESTING=OFF -DSQLITE3_INCLUDE_DIR=$GITHUB_WORKSPACE/dist/include \ | |
-DSQLITE3_LIBRARY=$GITHUB_WORKSPACE/dist/libsqlite3.a -DEXE_SQLITE3=$GITHUB_WORKSPACE/dist/bin \ | |
-DENABLE_TIFF=OFF -DENABLE_CURL=OFF -DBUILD_APPS=OFF -DCMAKE_C_IMPLICIT_LINK_LIBRARIES=" " \ | |
-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/dist -DBUILD_TESTING=OFF .. | |
- name: Start compilation | |
run: | | |
cd thirdparty/PROJ/build | |
emmake make install -j$(nproc) | |
- name: Upload build artifacts | |
uses: actions/[email protected] | |
with: | |
name: PROJ | |
path: dist/ | |
if-no-files-found: error | |
retention-days: 1 | |
overwrite: true | |
GDAL: | |
needs: [SQLite, PROJ] | |
timeout-minutes: 10 | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository and submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
- name: Prepare build environemnt | |
uses: ./.github/actions/prepare-build-env | |
- name: Restore previous build artifacts | |
uses: actions/[email protected] | |
with: | |
pattern: '{SQLite,PROJ}' | |
path: dist/ | |
merge-multiple: true | |
- name: Configure build tools | |
run: | | |
cd thirdparty/gdal | |
# trigger port loading | |
EM_DATA=$EMSDK/upstream/emscripten | |
EM_CACHE=$EM_DATA/cache | |
touch temp.c | |
emcc -c -s SUPPORT_LONGJMP=wasm -s USE_ZLIB=1 -s USE_LIBPNG=1 -s USE_LIBJPEG=1 temp.c | |
git apply ../../patches/gdal_reduce_size.patch | |
mkdir -p build && cd build | |
emcmake cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_PREFIX_PATH=$GITHUB_WORKSPACE/dist \ | |
-DCMAKE_CXX_FLAGS="-s SUPPORT_LONGJMP=wasm" -DCMAKE_C_FLAGS="-s SUPPORT_LONGJMP=wasm" \ | |
-DPROJ_INCLUDE_DIR=$GITHUB_WORKSPACE/dist/include -DPROJ_LIBRARY=$GITHUB_WORKSPACE/dist/lib/libproj.a \ | |
-DSQLite3_INCLUDE_DIR=$GITHUB_WORKSPACE/dist/include -DSQLite3_LIBRARY=$GITHUB_WORKSPACE/dist/lib/libsqlite3.a \ | |
-DPNG_LIBRARY=$EM_CACHE/sysroot/lib/wasm32-emscripten/libpng-wasm-sjlj.a \ | |
-DGDAL_USE_ICONV=OFF -DGDAL_USE_INTERNAL_LIBS=OFF -DENABLE_GNM=OFF -DENABLE_PAM=OFF \ | |
-DGDAL_USE_JSONC_INTERNAL=ON -DBUILD_APPS=OFF -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/dist -DBUILD_TESTING=OFF .. | |
- name: Start compilation | |
run: | | |
cd thirdparty/gdal/build | |
emmake make install -j$(nproc) | |
- name: Upload build artifacts | |
uses: actions/[email protected] | |
with: | |
name: GDAL | |
path: dist/ | |
if-no-files-found: error | |
retention-days: 1 | |
overwrite: true | |
MapServer: | |
needs: [GDAL, GEOS, PROJ, libxml2] | |
timeout-minutes: 10 | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository and submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
- name: Prepare build environemnt | |
uses: ./.github/actions/prepare-build-env | |
- name: Restore previous build artifacts | |
uses: actions/[email protected] | |
with: | |
pattern: '{GDAL,GEOS,PROJ,libxml2}' | |
path: dist/ | |
merge-multiple: true | |
- name: Configure build tools | |
run: | | |
cd thirdparty/mapserver | |
# trigger port loading | |
EM_DATA=$EMSDK/upstream/emscripten | |
EM_CACHE=$EM_DATA/cache | |
touch temp.c | |
emcc -c -s SUPPORT_LONGJMP=wasm -s USE_ZLIB=1 -s USE_FREETYPE=1 -s USE_LIBPNG=1 -s USE_LIBJPEG=1 temp.c | |
mkdir -p build && cd build | |
emcmake cmake -DCMAKE_BUILD_TYPE=Release -DWITH_FRIBIDI=OFF -DWITH_HARFBUZZ=OFF -DWITH_ICONV=OFF -DWITH_CAIRO=OFF -DWITH_FCGI=OFF \ | |
-DWITH_POSTGIS=OFF -DWITH_WCS=OFF -DWITH_GIF=OFF -DWITH_PROTOBUFC=OFF -DCMAKE_C_FLAGS="-s SUPPORT_LONGJMP=wasm" \ | |
-DFREETYPE_INCLUDE_DIR=$EM_CACHE/sysroot/include/freetype2 -DFREETYPE_LIBRARY=$EM_CACHE/sysroot/lib/wasm32-emscripten \ | |
-DJPEG_INCLUDE_DIR=$EM_CACHE/sysroot/include -DJPEG_LIBRARY=$EM_CACHE/sysroot/lib/wasm32-emscripten \ | |
-DPNG_INCLUDE_DIR=$EM_CACHE/sysroot/include -DPNG_LIBRARY=$EM_CACHE/sysroot/lib/wasm32-emscripten \ | |
-DZLIB_INCLUDE_DIR=$EM_CACHE/sysroot/include -DZLIB_LIBRARY=$EM_CACHE/sysroot/lib/wasm32-emscripten \ | |
-DPROJ_INCLUDE_DIR=$GITHUB_WORKSPACE/dist/include -DPROJ_LIBRARY=$GITHUB_WORKSPACE$GITHUB_WORKSPACE/dist/lib \ | |
-DLIBXML2_INCLUDE_DIR=$GITHUB_WORKSPACE/dist/include/libxml2 -DLIBXML2_LIBRARY=$GITHUB_WORKSPACE/dist/lib \ | |
-DGDAL_INCLUDE_DIR=$GITHUB_WORKSPACE/dist/include -DGDAL_LIBRARY=$GITHUB_WORKSPACE/dist/lib \ | |
-DGEOS_INCLUDE_DIR=$GITHUB_WORKSPACE/dist/include -DGEOS_LIBRARY=$GITHUB_WORKSPACE/dist/lib .. | |
- name: Start compilation | |
run: | | |
cd thirdparty/mapserver/build | |
emmake make mapserver -j$(nproc) # build mapserver.a target only | |
- name: Install artifacts | |
run: | | |
cd thirdparty/mapserver/build | |
cp libmapserver.a $GITHUB_WORKSPACE/dist/lib | |
cp *.h $GITHUB_WORKSPACE/dist/include | |
cp ../src/*.h $GITHUB_WORKSPACE/dist/include | |
- name: Upload build artifacts | |
uses: actions/[email protected] | |
with: | |
name: MapServer | |
path: dist/ | |
if-no-files-found: error | |
retention-days: 1 | |
overwrite: true | |
WASM: | |
needs: [MapServer] | |
timeout-minutes: 10 | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository and submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
- name: Prepare build environemnt | |
uses: ./.github/actions/prepare-build-env | |
- name: Restore previous build artifacts | |
uses: actions/[email protected] | |
with: | |
name: MapServer | |
path: dist/ | |
- name: Install required tools | |
run: sudo apt-get update && sudo apt-get install -y brotli | |
- name: Start compilation | |
run: emmake make | |
- name: Upload build artifacts | |
uses: actions/[email protected] | |
with: | |
name: WASM | |
path: | | |
dist/mapserver.* | |
dist/mapserver-node.js | |
if-no-files-found: error | |
retention-days: 1 | |
overwrite: true | |
Vitest: | |
needs: [WASM] | |
timeout-minutes: 10 | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Checkout repository and submodules | |
uses: actions/[email protected] | |
with: | |
submodules: recursive | |
- name: Prepare build environemnt | |
uses: ./.github/actions/prepare-build-env | |
- name: Restore previous build artifacts | |
uses: actions/[email protected] | |
with: | |
name: WASM | |
path: dist/ | |
- name: Install npm dependencies | |
run: npm ci | |
- name: Run jest tests | |
run: npm test |