Skip to content

ci: Poll the internal pipeline every 60s instead of every 10 - #217

Open
DanielKellerM wants to merge 1 commit into
develfrom
ci/gitlab-poll-period
Open

ci: Poll the internal pipeline every 60s instead of every 10#217
DanielKellerM wants to merge 1 commit into
develfrom
ci/gitlab-poll-period

Conversation

@DanielKellerM

@DanielKellerM DanielKellerM commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

poll-period was never set, so pulp-actions/gitlab-ci used its default of 10 seconds:

poll-count: 10800 # (10800/60=180min=3hours)

The comment divides by 60 as if the period were one second. The real budget is 10800 x 10s = 30 hours; only timeout-minutes: 200 bounded the job. The internal pipeline runs for tens of minutes, so polling that often costs roughly 1200 API calls per run against iis-git for no benefit.

60s x 180 is the 3 hours the comment always intended, and matches what gwaihir already uses.

What other pulp repos do

repo poll-period poll-count effective
gwaihir 60 180 3 h
snitch_cluster 20 1000 5.5 h
axi (default 10) 1800 5 h
carfield (default 10) 2160 6 h
cheshire (default 10) 10800 30 h, same wrong comment

cheshire carries the identical comment and the same unset period, so it has the same 30 hour budget.

Whether the polling can be removed

Holding a GitHub runner for up to 200 minutes purely to wait is the real cost, so the push-based options were checked:

  • GitLab's GitHub integration is unavailable. iis-git.ee.ethz.ch runs GitLab 19.2.4 Community Edition (enterprise=false) and the API rejects the github integration slug outright; it is Premium/Ultimate only.
  • A .gitlab-ci.yml job POSTing to /repos/pulp-platform/iDMA/statuses/<sha> is feasible and needs no extra infrastructure: the internal runners already reach github.com, since bender checkout fetches dependencies from there on every job. It needs a PAT with commit-status write stored as a masked CI variable, which is a credential decision rather than a code change. This is the commonly recommended approach for CE.
  • A webhook receiver such as gitlab-ci-github-status-checks reproduces the EE integration for CE, but requires hosting a service.
  • Mirror-and-wait actions such as gitlab-mirror-and-ci-action all poll too, so they are no improvement.

Nothing native to CE removes the wait, so this PR fixes the interval and leaves the push-based change to a follow-up.

Copilot AI lite review requested due to automatic review settings August 19, 2026 12:08

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

poll-period was never set, so the default of 10 seconds applied and the
budget was 10800 polls x 10s = 30 hours, not the 3 the comment claimed;
only timeout-minutes bounded the job. The internal pipeline runs for
tens of minutes, so polling that often buys nothing and costs about
1200 API calls per run.

60s x 180 is the 3 hours the comment always intended, and matches the
setting gwaihir already uses.
@DanielKellerM
DanielKellerM force-pushed the ci/gitlab-poll-period branch from 0e6a699 to 240923f Compare August 19, 2026 12:10
@DanielKellerM DanielKellerM changed the title ci: Poll the internal pipeline every 30s instead of every 10 ci: Poll the internal pipeline every 60s instead of every 10 Aug 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants