-
Notifications
You must be signed in to change notification settings - Fork 9.4k
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
[github-actions] Add index-monitor action #31378
Conversation
mmm... Shouldn't this PR be created using the |
Signed-off-by: Miguel Ruiz <[email protected]>
da9f712
to
9f4619d
Compare
Signed-off-by: Miguel Ruiz <[email protected]>
Signed-off-by: Miguel Ruiz <[email protected]>
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.
Just a little comment
echo "result=${status}" >> $GITHUB_OUTPUT | ||
- name: Show messages | ||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea | ||
with: | ||
script: | | ||
if ("${{ steps.integrity-check.outputs.result }}" != "ok" ) { | ||
core.setFailed("Integrity check failed"); | ||
} else { | ||
core.info("Integrity check succeeded") | ||
} |
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 think we could simplify this piece of code with something like this:
echo "result=${status}" >> $GITHUB_OUTPUT | |
- name: Show messages | |
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea | |
with: | |
script: | | |
if ("${{ steps.integrity-check.outputs.result }}" != "ok" ) { | |
core.setFailed("Integrity check failed"); | |
} else { | |
core.info("Integrity check succeeded") | |
} | |
if [[ "${status}" != "ok" ]]; then | |
echo "::error:: Integrity check failed" | |
else | |
echo "::info:: Integrity check succeeded" | |
fi | |
echo "result=${status}" >> $GITHUB_OUTPUT |
echo "result=${status}" >> $GITHUB_OUTPUT | ||
- name: Show messages | ||
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea | ||
with: | ||
script: | | ||
if ("${{ steps.validation-check.outputs.result }}" != "ok" ) { | ||
core.setFailed("Validation check failed"); | ||
} else { | ||
core.info("Validation check succeeded") | ||
} |
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.
Same here:
echo "result=${status}" >> $GITHUB_OUTPUT | |
- name: Show messages | |
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea | |
with: | |
script: | | |
if ("${{ steps.validation-check.outputs.result }}" != "ok" ) { | |
core.setFailed("Validation check failed"); | |
} else { | |
core.info("Validation check succeeded") | |
} | |
if [[ "${status}" != "ok" ]]; then | |
echo "::error:: Validation check failed" | |
else | |
echo "::info:: Validation check succeeded" | |
fi | |
echo "result=${status}" >> $GITHUB_OUTPUT |
Description of the change
Adds the new workflow 'index-monitor.yml'.
This new workflow will be executed in a schedule every 10 minutes and will be in charge of checking the integrity of the index.yaml file available at
Benefits
These changes aim to prevent the recent index failures, which we suspect may be related to the upload of the index.yaml available at 'http://charts.bitnami.com/bitnami/index.yaml'.
If consistent failures are detected (failed 3 times in a row), notifies the error and triggers a new index upload to immediately amend the issues.
Additional information
The workflow consists of 2 checks:
The integrity check will verify the index.yaml available in the 'index' branch matches the one available at 'http://charts.bitnami.com/bitnami/index.yaml'.
The validation check will test that the commands
helm repo add
andhelm repo update
can be executed successfully.Fixes Repository invalid? skipping loading invalid entry for chart "airflow" "" from https://charts.bitnami.com/bitnami: validation: chart.metadata.name is require #31350
Checklist
Chart.yaml
according to semver. This is not necessary when the changes only affect README.md files.README.md
using readme-generator-for-helm