]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
ci: manager: configure meson before every test
authorAleš Mrázek <ales.mrazek@nic.cz>
Tue, 10 Sep 2024 10:02:32 +0000 (12:02 +0200)
committerAleš Mrázek <ales.mrazek@nic.cz>
Mon, 30 Sep 2024 09:16:07 +0000 (11:16 +0200)
.gitlab-ci.manager.yml
scripts/poe-tasks/check
scripts/poe-tasks/examples
scripts/poe-tasks/kresctl
scripts/poe-tasks/man
scripts/poe-tasks/test
scripts/poe-tasks/utils/_env.sh

index cc94c0bf33d5ff1c30073fc5d00869db6b2c2a75..5ba0d40c72d68bcc72c5659d13ac9860ba968baf 100644 (file)
@@ -6,6 +6,8 @@ default:
   before_script:
     - poetry --version
     - poetry env use $PYTHON_INTERPRETER
+    - poetry install -E prometheus
+    - poe configure
   tags:
     - docker
     - linux
@@ -14,7 +16,6 @@ default:
 examples:py3.12:
   stage: check
   script:
-    - poetry install --only main,dev
     - poe examples
   variables:
     PYTHON_INTERPRETER: python3.12
@@ -22,7 +23,6 @@ examples:py3.12:
 lint:py3.12:
   stage: check
   script:
-    - poetry install --only main,dev,lint
     - poe check
   variables:
     PYTHON_INTERPRETER: python3.12
@@ -30,7 +30,6 @@ lint:py3.12:
 .unit: &unit
   stage: check
   script:
-    - poetry install --only main,dev,test
     # create required directories that are in default config, otherwise unit tests fail
     - mkdir -p /var/cache/knot-resolver
     - poe test
index 9cd529e9721146281c4cadd8a81a147cbb264190..8e6507e4ee8b969ad5ccae5db618275d4cf06ee4 100755 (executable)
@@ -14,6 +14,8 @@ function check_rv {
        aggregate_rv=$(( $aggregate_rv + $1 ))
 }
 
+kres_is_meson_configured
+
 # stop failing early, because we wouldn't do anything else than fail
 set +e
 
index 8b0be2c42a23d852abe520fe55bbed1fbc6c1b0b..b501ca572f22a139ba5dd8591e665c180d67dee7 100755 (executable)
@@ -4,6 +4,8 @@
 src_dir="$(dirname "$(realpath "$0")")"
 source $src_dir/utils/_env.sh
 
+kres_is_meson_configured
+
 # validate all configuration examples
 for example in $PWD/etc/config/config.example.*.yaml;
 do
index 50e028fc77d949e8dcd24415d85cfb99ca54c05b..d5662fb82412e5ce96deb6b4ae36a1fc086c39f7 100755 (executable)
@@ -4,5 +4,7 @@
 src_dir="$(dirname "$(realpath "$0")")"
 source $src_dir/utils/_env.sh
 
+kres_is_meson_configured
+
 # run knot-resolver client
 python3 -m knot_resolver.client $@
index f6986d5841f9319c739da85c80c494d8f6a02bc7..60f0ae6e76aaa96a66de60415f6c744c9f8b8318 100755 (executable)
@@ -4,6 +4,6 @@
 src_dir="$(dirname "$(realpath "$0")")"
 source $src_dir/utils/_env.sh
 
-build_knot_resolver_c
+kres_meson_build
 
 man -l .install/share/man/man8/$1*
index 85fd6089a79a95ab65ac73024719dd0e08e5174c..79c6e3a24ca97b6ad9efd4920e341fa6b4fd0194 100755 (executable)
@@ -4,5 +4,7 @@
 src_dir="$(dirname "$(realpath "$0")")"
 source $src_dir/utils/_env.sh
 
+kres_is_meson_configured
+
 # run pytest
 env PYTHONPATH=. pytest --junitxml=unit.junit.xml --cov=python/knot_resolver --show-capture=all tests/manager
index b5e0f14f6424048caa14b18980227861da43167a..7b8fc4b37cf4eec76be8d5fd5addb61f97e9980e 100644 (file)
@@ -73,18 +73,8 @@ function kres_meson_configure {
        echo
 }
 
-function kres_meson_build {
-       if [ -d .build ]; then
-               echo
-               echo Building Knot Resolver C komponents
-               echo -----------------------------------
-               echo -e "${blue}In case of an compilation error, run this command to try to fix it:${reset}"
-               echo -e "\t${blue}rm -r $install_dir $build_dir${reset}"
-               echo
-               ninja -C $build_dir
-               ninja install -C $build_dir
-               echo
-       else
+function kres_is_meson_configured {
+       if [ ! -d .build ]; then
                echo
                echo Knot Resolver is not configured for building.
                echo "Please run './poe configure' (optionally with additional Meson arguments)".
@@ -92,3 +82,18 @@ function kres_meson_build {
                exit 2
        fi
 }
+
+function kres_meson_build {
+
+       kres_is_meson_configured
+
+       echo
+       echo Building Knot Resolver C komponents
+       echo -----------------------------------
+       echo -e "${blue}In case of an compilation error, run this command to try to fix it:${reset}"
+       echo -e "\t${blue}rm -r $install_dir $build_dir${reset}"
+       echo
+       ninja -C $build_dir
+       ninja install -C $build_dir
+       echo
+}