Sync recent fixes in SBLGNT tests #1197
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 | |
on: [push] | |
jobs: | |
build-linux: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: prerequisites | |
run: | | |
sudo apt update --allow-unauthenticated --allow-insecure-repositories && | |
sudo apt install libsword-common libsword-dev git cmake build-essential libreadline-dev libboost-dev libboost-filesystem-dev \ | |
sqlite3 python3 python3-pexpect \ | |
texlive-latex-recommended texlive-latex-extra texlive-science texlive-lang-european texlive-lang-german \ | |
r-base-core pdf2svg highlight bison flex subversion | |
- name: prerequisites2 | |
run: | | |
wget http://http.us.debian.org/debian/pool/main/s/sm/r-cran-sm_2.2-5.6-1+b2_amd64.deb && | |
sudo dpkg -i r-cran-sm_2.2-5.6-1+b2_amd64.deb | |
- name: make-native | |
run: | | |
mkdir build | |
cd build | |
cmake .. | |
make | |
make install || true | |
- name: make-pbrst | |
run: | | |
cd statements | |
make | |
cd tests | |
./runme . | |
- name: make-native-pbrst | |
run: | | |
mkdir build-pbrst | |
cd build-pbrst | |
cmake -DPBRST=ON .. | |
make | |
make install || true | |
- name: prerequisites-qt | |
run: | | |
sudo apt install qt6-base-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools \ | |
linguist-qt6 libgl1-mesa-dev freeglut3-dev libgraphviz-dev qt6-svg-dev | |
- name: make-qt | |
run: | | |
mkdir qt/build | |
cd qt/build | |
cmake .. | |
make | |
- name: make-qt-pbrst | |
run: | | |
mkdir qt/build-pbrst | |
cd qt/build-pbrst | |
cmake -DPBRST=ON .. | |
make | |
- name: install-emscripten | |
run: | | |
git clone https://github.com/emscripten-core/emsdk.git | |
cd emsdk | |
./emsdk install 2.0.22 | |
./emsdk activate 2.0.22 | |
- name: make-sword-wasm | |
run: | | |
. emsdk/emsdk_env.sh | |
git clone https://github.com/kovzol/crosswire-sword-mirror | |
cd crosswire-sword-mirror | |
mkdir build | |
cd build | |
emcmake cmake .. | |
emmake make sword_static | |
- name: make-wasm | |
run: | | |
. emsdk/emsdk_env.sh | |
yes | emmake make | |
- name: db-full | |
run: cd docs/common && make && make svgs && make statements.brst.html | |
- name: doc-hu | |
run: cd docs/hu && make || true # LaTeX seems to be broken on Ubuntu 22.04... | |
build-windows: | |
runs-on: windows-2019 | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- name: Sparse checkout | |
shell: bash | |
run: | | |
REPO="https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" | |
BRANCH="${GITHUB_REF/#refs\/heads\//}" | |
echo "Syncing repository: $GITHUB_REPOSITORY" | |
echo "Working directory is '$(pwd)' GITHUB_WORKSPACE=$GITHUB_WORKSPACE BRANCH=$BRANCH" | |
git version | |
git init $GITHUB_WORKSPACE | |
git remote add origin https://github.com/$GITHUB_REPOSITORY | |
git config --local gc.auto 0 | |
git config core.protectNTFS false | |
git -c protocol.version=2 fetch --no-tags --prune --progress --depth=10 origin +${GITHUB_SHA}:refs/remotes/origin/${BRANCH} | |
git sparse-checkout set --no-cone '/*' '!examples' '!docs' | |
git checkout --progress --force -B $BRANCH refs/remotes/origin/$BRANCH | |
- name: Install Prerequisites | |
uses: msys2/setup-msys2@v2 | |
with: | |
msystem: MINGW64 | |
update: true | |
install: >- | |
base-devel | |
mingw-w64-x86_64-gcc | |
mingw-w64-x86_64-make | |
mingw-w64-x86_64-cmake | |
mingw-w64-x86_64-pkgconf | |
mingw-w64-x86_64-boost | |
mingw-w64-x86_64-clang | |
mingw-w64-x86_64-qt6-base | |
mingw-w64-x86_64-qt6-tools | |
mingw-w64-x86_64-qt6-translations | |
mingw-w64-x86_64-qt6-svg | |
mingw-w64-x86_64-readline | |
mingw-w64-x86_64-zlib | |
mingw-w64-x86_64-graphviz | |
- name: Build SWORD | |
run: | | |
wget https://www.crosswire.org/ftpmirror/pub/sword/source/v1.9/sword-1.9.0.tar.gz | |
mkdir orig | |
cd orig | |
tar xzf ../sword-1.9.0.tar.gz || true | |
patch -i ../sword-patch-mingw64.diff -p1 | |
cp ../FindRegex.cmake sword-1.9.0/cmake # avoid use /usr/include on Wine/MSYS2 | |
sed -i 's/2.6.0/3.5.0/' sword-1.9.0/CMakeLists.txt # eliminate some warnings and force newer cmake settings | |
cd sword-1.9.0 | |
mkdir build | |
cd build | |
# Install SWORD in /mingw64 (which is usually C:/msys64/mingw64 on normal installations): | |
CC=clang CXX=clang++ cmake -DCMAKE_INSTALL_PREFIX=/mingw64 -DSWORD_LINK_LIBRARIES="-lcurl" -G "MinGW Makefiles" .. | |
mingw32-make install | |
- name: Build bibref | |
run: | | |
mkdir build | |
cd build | |
CC=clang CXX=clang++ cmake -G "MinGW Makefiles" .. | |
mingw32-make install || true | |
- name: Build bibref-pbrst | |
run: | | |
mkdir build-pbrst | |
cd build-pbrst | |
CC=clang CXX=clang++ cmake -DPBRST=ON -G "MinGW Makefiles" .. | |
mingw32-make | |
- name: Build bibref-qt | |
run: | | |
mkdir qt/build | |
cd qt/build | |
CC=clang CXX=clang++ cmake -G "MinGW Makefiles" .. | |
mingw32-make | |
- name: Build bibref-qt-pbrst | |
run: | | |
mkdir qt/build-pbrst | |
cd qt/build-pbrst | |
CC=clang CXX=clang++ cmake -DPBRST=ON -G "MinGW Makefiles" .. | |
mingw32-make |