-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
ironbank: validate heartbeat docker context #32982
Conversation
…eartbeat/hardening_manifest.yaml as the source of truth hence no need to do any duplication of entries
failure { | ||
notifyStatus(slackStatus: 'danger', subject: "[${env.REPO}@${BRANCH_NAME}] package for ${env.BEATS_FOLDER}", body: "Contact the heartbeats team. (<${env.RUN_DISPLAY_URL}|Open>)") | ||
} |
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.
This failure might be relevant to the product team, since it's related to the packaging
failure { | ||
notifyStatus(slackStatus: 'danger', subject: "[${env.REPO}@${BRANCH_NAME}] Ironbank docker context for ${env.BEATS_FOLDER}", body: "Contact the @observablt-robots-team team. (<${env.RUN_DISPLAY_URL}|Open>)") | ||
} |
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.
Ironbank packages could fail, if so, likely an environmental issue, since the DRA
will also fail. In any case we will redirect the message to the robots team
failure { | ||
notifyStatus(slackStatus: 'danger', subject: "[${env.REPO}@${BRANCH_NAME}] Ironbank validation failed", body: "Contact the @observablt-robots-team team. (<${env.RUN_DISPLAY_URL}|Open>)") | ||
} |
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.
This is the new validation, so if the docker image cannot be built then something is broken in the list of dependencies, if that happens then we will need to fix it.
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.
LGTM
|
||
## @help:setup-yq: Install yq in ../build/yq. | ||
.PHONY: setup-yq | ||
setup-yq: |
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.
We could try to detect if yq
is installed at the OS level and if not then download it.
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.
I'd prefer to keep the logic simpler and agnostic to the worker, we can revisit this in the future if needed
(cherry picked from commit 7cbb828)
(cherry picked from commit 7cbb828)
What does this PR do?
It validates the DoD docker context for
x-pack/heartbeat
contains the required dependencies and the docker image can be built.Why is it important?
As agreed, docker context generation does not validate the changes, hence this is the approach to verify the artifacts to be added to the DoD docker context are built correctly.
Test
CI
See this build
NOTE: The existing pipeline will not run on PR basis, but on a time basis for the active branches (see #32977), though users can trigger a build manually using the Jenkins UI.
Manually
produced:
Follow ups
Potentially it could be also tested with some integration testing hence the docker heartbeat works with the Elastic Stack. Although to do so, it requires to store the docker-compose for the Elastic Stack and some users/roles (similar to https://github.com/jenkinsci/opentelemetry-plugin/tree/master/src/test/resources).
For the time being, I'll say to keep it simple, otherwise we can add certain complexity that might not be needed
Issues
Requires #32976