CBG-5647 Move the weekly integration sweep into a Jenkinsfile - #8776
Conversation
SyncGatewayIntegration-weekly ran as an inline pipeline script in Jenkins. Move it to integration-test/SyncGatewayIntegrationWeekly/Jenkinsfile, along with the job settings that belong with it: the Saturday cron, the timeout, the log rotator and disableConcurrentBuilds. The server versions are resolved on every run rather than pinned, so the sweep follows patch releases without a commit. GA versions come from the Docker Hub tag API and the unreleased tips from the cb-vanilla package, read with the github_ghcr_pat credential the child jobs already use to pull those images. The pins had all fallen behind: 7.6.11 was older than GA, and 8.1 has since become 8.5. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The floating '<version>' tag moves from build to build, so the build record did not say which image a sweep ran. Resolve the '<version>-<build number>' tag instead, which is immutable. Released versions keep their plain Docker Hub tag, where the patch number is enough. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
🟡 Changes recommended
The Docker Hub tag-resolution shell pipeline should use set -euo pipefail to avoid masking upstream failures and producing misleading resolution errors.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Introduces a new Jenkins declarative pipeline to run the weekly “integration sweep” as a first-class Jenkinsfile, dynamically resolving Couchbase Server versions (GA from Docker Hub and tip builds from cb-vanilla) and fanning out into parallel SyncGatewayIntegration-Pipeline child builds.
Changes:
- Added
integration-test/SyncGatewayIntegrationWeekly/Jenkinsfileto schedule and run the weekly sweep via a Jenkinsfile-defined cron trigger. - Implemented runtime resolution of latest patch tags from Docker Hub for selected release lines.
- Implemented runtime resolution of latest build tags from
ghcr.io/cb-vanilla/servervia the GitHub Packages API, and ran all combinations in parallel.
File summaries
| File | Description |
|---|---|
| integration-test/SyncGatewayIntegrationWeekly/Jenkinsfile | Adds a scheduled weekly sweep pipeline that resolves server versions dynamically and triggers parallel downstream integration jobs. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
Droid finished @torcolvin's task —— View job Phase 2 (validation) complete
Summary: Validated 1 candidate comment for this PR; 1 is approved for posting. The approved note flags a likely Jenkins capacity issue where each parallel branch holds a lightweight executor while waiting on a downstream build. |
bbrks
left a comment
There was a problem hiding this comment.
lgtm other than the droid suggestion
…into weekly-integration-jenkinsfile
CBG-5647 Move the weekly integration sweep into a Jenkinsfile
Extracted the Jenkinsfile directly in the first commit.
Dynamically resolve the versions to pick up the latest minor versions:
Tested with https://jenkins.sgwdev.com/job/tmp-ghcr-tag-probe/7/console
After this merges,
SyncGatewayIntegration-weeklywill need to be updated to point at this jenkinsfile.