From: Štěpán Balážik Date: Thu, 19 Jun 2025 07:53:20 +0000 (+0200) Subject: Add a pytest mark for system tests that require Internet connection X-Git-Tag: v9.20.11~9^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e2a91c06c84b0c8bc38602b13c477c32bc5874a6;p=thirdparty%2Fbind9.git Add a pytest mark for system tests that require Internet connection We skip those by default as: a) we don't want to stress the upstream servers in every CI pipeline b) system tests need to be runnable in a isolated environment by default (cherry picked from commit 3a8ffc74df5f097afa9cd2b7073dc732824e82dd) --- diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 69907f30433..54bac6957f2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -265,10 +265,13 @@ stages: rules: - if: '$CI_PIPELINE_SOURCE =~ /^(api|pipeline|schedule|trigger|web)$/' +.default-triggering-rules_list: &default_triggering_rules_list + - if: '$CI_PIPELINE_SOURCE =~ /^(api|merge_request_event|pipeline|schedule|trigger|web)$/' + - if: '$CI_COMMIT_TAG != null' + .default-triggering-rules: &default_triggering_rules rules: - - if: '$CI_PIPELINE_SOURCE =~ /^(api|merge_request_event|pipeline|schedule|trigger|web)$/' - - if: '$CI_COMMIT_TAG != null' + - *default_triggering_rules_list .precheck: &precheck_job <<: *default_triggering_rules @@ -1004,6 +1007,11 @@ system:gcc:bookworm:amd64: needs: # using artifacts from unit test job is required for gcov - job: unit:gcc:bookworm:amd64 artifacts: true + rules: + - if: '$CI_PIPELINE_SOURCE == "schedule"' + variables: + CI_ENABLE_LIVE_INTERENT_TESTS: 1 + - *default_triggering_rules_list unit:gcc:bookworm:amd64: <<: *debian_bookworm_amd64_image diff --git a/bin/tests/system/isctest/mark.py b/bin/tests/system/isctest/mark.py index 630409fb719..254ced506c6 100644 --- a/bin/tests/system/isctest/mark.py +++ b/bin/tests/system/isctest/mark.py @@ -23,6 +23,11 @@ long_test = pytest.mark.skipif( not os.environ.get("CI_ENABLE_LONG_TESTS"), reason="CI_ENABLE_LONG_TESTS not set" ) +live_internet_test = pytest.mark.skipif( + not os.environ.get("CI_ENABLE_LIVE_INTERNET_TESTS"), + reason="CI_ENABLE_LIVE_INTERNET_TESTS not set", +) + def feature_test(feature): feature_test_bin = os.environ["FEATURETEST"]