Skip to content

(MODULES-11982) Stagger nightly cron to 00:50 UTC - #634

Merged
imaqsood merged 1 commit into
mainfrom
MODULES-11982-stagger-nightly
Oct 14, 2026
Merged

imaqsood merged 1 commit into
mainfrom
MODULES-11982-stagger-nightly

Conversation

@imaqsood

Copy link
Copy Markdown
Contributor

Strategy and full slot table: Supported modules: staggered nightly schedule

Summary

Moves the puppetlabs-java nightly workflow from 0 0 * * * to 50 0 * * * (00:50 UTC). Only the cron: line in .github/workflows/nightly.yml changes; the triggers and jobs are untouched.

This module renders nightly.yml from pdk-templates (unmanaged: false), so .sync.yml also gets cron: '50 0 * * *' under .github/workflows/nightly.yml. That keeps the slot after a future pdk update once pdk-templates supports the key (puppetlabs/pdk-templates#677). Until then PDK ignores the key, so it's harmless.

Additional Context

  • Root cause: all 40 supported modules start their nightly at 00:00 UTC. That sends about 467 provision_service VM requests at once and hit the GCP FIREWALLS quota on 2026-10-01 (389 provision failures).
  • Approach: each module gets its own 15-minute slot between 00:05 and 04:50 UTC. Slots are weighted by VM count, so at most 4 nightlies and 50 VM requests start in any 30 minutes. This module has about 7 VM jobs per night. Slots avoid :00 because GitHub delays top-of-hour schedules the most.
  • This PR is part of wave 2a (16 Linux/cross-platform modules). Wave 1, the 12 heaviest modules, is MODULES-11968 and still in review; please merge this after the wave-1 PRs land.

Related Issues (if any)

Checklist

  • 🟢 Spec tests. (Not affected; this PR's ci.yml run covers it)
  • 🟢 Acceptance tests. (The nightly itself only runs on schedule; check the first run after merge starts at 00:50 UTC)
  • Manually verified: exactly one cron line changed in nightly.yml, plus one cron: line in .sync.yml. Both files parse with ruby -ryaml, and the parsed values equal 50 0 * * *.

🤖 Generated with Claude Code

All supported modules ran their nightly at 00:00 UTC, so about 467
provision_service VM requests hit the GCP firewall-rule quota at once
(389 provision failures on 2026-10-01). Move this module to its own
15-minute slot in the 00:05-04:50 UTC window.

Also set the slot as `cron` in .sync.yml so a future `pdk update`
keeps it once pdk-templates supports the key (ignored until then).

Co-Authored-By: Claude <noreply@anthropic.com>
@imaqsood
imaqsood requested review from a team and bastelfreak as code owners October 14, 2026 11:04
@imaqsood
imaqsood merged commit ab6aca3 into main Oct 14, 2026
41 checks passed
@imaqsood
imaqsood deleted the MODULES-11982-stagger-nightly branch October 14, 2026 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants