cp2k/tools/docker/scripts/test_manual.sh
2026-04-18 21:57:16 +02:00

66 lines
1.7 KiB
Bash
Executable file

#!/bin/bash -e
# author: Ole Schuett
# shellcheck disable=SC1091
source /opt/cp2k-toolchain/install/setup
echo -e "\n========== Installing Dependencies =========="
apt-get update -qq
apt-get install -qq --no-install-recommends \
default-jre-headless \
libsaxonhe-java \
python3 \
python3-pip \
python3-venv
rm -rf /var/lib/apt/lists/*
# Create and activate a virtual environment for Python packages.
python3 -m venv /opt/venv
export PATH="/opt/venv/bin:$PATH"
# install python packages
pip3 install -r /opt/cp2k/docs/requirements.txt
echo -e "\n========== Generating Manual =========="
mkdir -p /workspace/artifacts/manual
cd /workspace/artifacts/manual
/opt/cp2k/build/bin/cp2k.pdbg --version
/opt/cp2k/build/bin/cp2k.pdbg --xml
set +e # disable error trapping for remainder of script
(
set -e # abort if error is encountered
/opt/cp2k/docs/generate_input_reference.py ./cp2k_input.xml
echo ""
sphinx-build /opt/cp2k/docs/ /workspace/artifacts/manual -W -n --keep-going --jobs 16
/opt/cp2k/docs/fix_github_links.py /workspace/artifacts/manual
rm -rf /workspace/artifacts/manual/.doctrees
)
EXIT_CODE=$?
if ((EXIT_CODE)); then
echo -e "\nSummary: Sphinx build failed"
echo -e "Status: FAILED\n"
exit
fi
echo -e "\n========== Generating VIM Plugin =========="
(
set -e # abort if error is encountered
sed -i 's/\x0/?/g' cp2k_input.xml # replace null bytes which would crash saxon
SAXON="java -jar /usr/share/java/Saxon-HE.jar"
$SAXON -o:cp2k.vim ./cp2k_input.xml /opt/cp2k/tools/input_editing/vim/vim.xsl
)
EXIT_CODE=$?
if ((EXIT_CODE)); then
echo -e "\nSummary: Saxon run failed."
echo -e "Status: FAILED\n"
exit
fi
echo -e "\nSummary: Manual generation works fine."
echo -e "Status: OK\n"
#EOF