titan-iac/scripts/tests/test_jenkins_job_triggers.py
Brad Stein 334fefff6c
Some checks failed
Tests / Declarative: Post Actions failed: 2, passed: 143
Add SCM poll trigger to cassandra Jenkins job
The cassandra pipelineJob had no trigger, so Gitea's notifyCommit
webhook found no matching job and pushes only built when started
manually. Poll every 5 minutes like lesavka/typhon so pushes build
within one poll cycle and the webhook race disappears.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-07 06:52:27 -03:00

48 lines
1.3 KiB
Python

import pathlib
def jcasc_job_block(job: str) -> str:
casc = pathlib.Path("services/jenkins/configmap-jcasc.yaml").read_text()
return casc.split(f"pipelineJob('{job}')", 1)[1].split("pipelineJob(", 1)[0]
def test_in_scope_jenkins_jobs_have_twice_daily_refresh_trigger():
in_scope_jobs = [
"ananke",
"ariadne",
"atlasbot",
"bstein-dev-home",
"data-prepper",
"metis",
"pegasus",
"soteria",
"titan-iac",
]
for job in in_scope_jobs:
block = jcasc_job_block(job)
assert "cron" in block
assert "spec('H H/12 * * *')" in block
def test_lesavka_jenkins_job_has_daily_refresh_trigger():
lesavka_block = jcasc_job_block("lesavka")
assert "scmpoll_spec('H/5 * * * *')" in lesavka_block
assert "cron" in lesavka_block
assert "spec('H H * * *')" in lesavka_block
def test_typhon_jenkins_job_has_daily_refresh_trigger():
typhon_block = jcasc_job_block("typhon")
assert "scmpoll_spec('H/5 * * * *')" in typhon_block
assert "cron" in typhon_block
assert "spec('H H * * *')" in typhon_block
def test_cassandra_jenkins_job_has_scm_poll_trigger():
cassandra_block = jcasc_job_block("cassandra")
assert "scmpoll_spec('H/5 * * * *')" in cassandra_block