-
Notifications
You must be signed in to change notification settings - Fork 3.5k
add DRA version bump pipeline #18765
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 6 commits
d7fee86
6afb2d2
ba1c73e
69586c2
55b8916
3c1d94d
c68ce75
eab5d72
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,61 @@ | ||
| notify: | ||
| - slack: | ||
| channels: | ||
| - "#logstash-build" | ||
| if: (build.branch == 'main' || build.branch =~ /^[0-9]+\.[0-9x]+\$/) && (build.state == 'passed' || build.state == 'failed') | ||
| - slack: | ||
| channels: | ||
| - "#logstash-build" | ||
| message: | | ||
| 🚦 Pipeline waiting for approval 🚦 | ||
| Repo: `${REPO}` | ||
|
|
||
| Ready to fetch DRA artifacts - please unblock when ready. | ||
| New version: `${NEW_VERSION}` | ||
| Branch: `${BRANCH}` | ||
| Workflow: `${WORKFLOW}` | ||
| ${BUILDKITE_BUILD_URL} | ||
| if: build.state == "blocked" | ||
|
|
||
| steps: | ||
| # TODO: replace this block step by real version bump logic | ||
| - block: "Ready to fetch for DRA artifacts?" | ||
| prompt: | | ||
| Unblock when your team is ready to proceed. | ||
|
|
||
| Trigger parameters: | ||
| - NEW_VERSION: ${NEW_VERSION} | ||
| - BRANCH: ${BRANCH} | ||
| - WORKFLOW: ${WORKFLOW} | ||
| key: block-get-dra-artifacts | ||
| blocked_state: running | ||
|
|
||
| - label: "Fetch DRA Artifacts" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm having trouble understanding what this is for? Why do we want to poll for artifacts? What consumes this?
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hello, let me try to answer your questions the best I can.
We (Release-eng) poll for artifacts as the last step to ensure that the version for the artifacts have been bumped.
We'll be using a centralized pipeline (owned by release-eng) which will be used alongside the pipeline in this PR. How it'll work is that the centralized pipeline will trigger the service team's version bump pipeline using a dependency graph. |
||
| key: fetch-dra-artifacts | ||
| depends_on: block-get-dra-artifacts | ||
| agents: | ||
| image: docker.elastic.co/release-eng/wolfi-build-essential-release-eng:latest | ||
| cpu: 2 | ||
| memory: 4G | ||
| ephemeralStorage: 10G | ||
| command: | ||
| - echo "Starting DRA artifacts retrieval..." | ||
| timeout_in_minutes: 240 | ||
| retry: | ||
| automatic: | ||
| - exit_status: "*" | ||
| limit: 2 | ||
| manual: | ||
| permit_on_passed: true | ||
|
|
||
| plugins: | ||
| - elastic/json-watcher#v1.0.0: | ||
| url: "https://artifacts-staging.elastic.co/logstash/latest/${BRANCH}.json" | ||
| field: ".version" | ||
| expected_value: "${NEW_VERSION}" | ||
| polling_interval: "30" | ||
| - elastic/json-watcher#v1.0.0: | ||
| url: "https://storage.googleapis.com/elastic-artifacts-snapshot/logstash/latest/${BRANCH}.json" | ||
| field: ".version" | ||
| expected_value: "${NEW_VERSION}-SNAPSHOT" | ||
| polling_interval: "30" | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is "prompt" used here? Will this just consistently be in a "waiting" state? How is that different than just running the pipeline when needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The entire block step is to be replaced by each team. This block step is more of a placeholder.