mirror of https://github.com/databricks/cli.git
Removed Changelog check Github Action (#2453)
## Changes Removed Changelog check Github Action ## Why Check for the Changelog and the necessity to add `NO_CHANGELOG=true` appears to be quite noisy, so removing this NO_CHANGELOG=true
This commit is contained in:
parent
77f6a285be
commit
b5a7023ef1
|
@ -8,7 +8,5 @@ For example, were there any decisions behind the change that are not reflected i
|
||||||
## Tests
|
## Tests
|
||||||
<!-- How have you tested the changes? -->
|
<!-- How have you tested the changes? -->
|
||||||
|
|
||||||
---
|
|
||||||
<!-- If your PR needs to be included in the release notes for next release,
|
<!-- If your PR needs to be included in the release notes for next release,
|
||||||
remove the line below and add a separate entry in NEXT_CHANGELOG.md as part of your PR. -->
|
add a separate entry in NEXT_CHANGELOG.md as part of your PR. -->
|
||||||
NO_CHANGELOG=true
|
|
||||||
|
|
|
@ -1,105 +0,0 @@
|
||||||
# Generated file. DO NOT EDIT.
|
|
||||||
name: Check for NEXT_CHANGELOG.md Changes
|
|
||||||
|
|
||||||
on:
|
|
||||||
# Use pull_request_target to have access to GitHub API
|
|
||||||
pull_request_target:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
check-next-changelog:
|
|
||||||
runs-on:
|
|
||||||
group: databricks-deco-testing-runner-group
|
|
||||||
labels: ubuntu-latest-deco
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Fetch list of changed files
|
|
||||||
id: changed-files
|
|
||||||
env:
|
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
run: |
|
|
||||||
# Use the GitHub API to fetch changed files
|
|
||||||
files=$(gh pr view ${{ github.event.pull_request.number }} --json files -q '.files[].path')
|
|
||||||
|
|
||||||
# Sanitize to avoid code injection
|
|
||||||
sanitized_files=$(echo "$files" | sed 's/[^a-zA-Z0-9._/-]/_/g')
|
|
||||||
|
|
||||||
# Store the sanitized list of files in a temporary file to avoid env variable issues
|
|
||||||
echo "$sanitized_files" > modified_files.txt
|
|
||||||
|
|
||||||
- name: Fetch PR message
|
|
||||||
id: pr-message
|
|
||||||
env:
|
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
run: |
|
|
||||||
# Use the GitHub API to fetch the PR message
|
|
||||||
pr_message=$(gh pr view ${{ github.event.pull_request.number }} --json body -q '.body')
|
|
||||||
|
|
||||||
# Sanitize the PR message to avoid code injection, keeping the equal sign
|
|
||||||
sanitized_pr_message=$(echo "$pr_message" | sed 's/[^a-zA-Z0-9._/-=]/_/g')
|
|
||||||
|
|
||||||
# Store the sanitized PR message
|
|
||||||
echo "$sanitized_pr_message" > pr_message.txt
|
|
||||||
|
|
||||||
- name: Verify NEXT_CHANGELOG.md was modified or PR message contains NO_CHANGELOG=true
|
|
||||||
run: |
|
|
||||||
# Read the sanitized files and PR message from the temporary files
|
|
||||||
modified_files=$(cat modified_files.txt)
|
|
||||||
pr_message=$(cat pr_message.txt)
|
|
||||||
|
|
||||||
# Check if NEXT_CHANGELOG.md exists in the list of changed files
|
|
||||||
echo "Changed files: $modified_files"
|
|
||||||
if ! echo "$modified_files" | grep -q "NEXT_CHANGELOG.md"; then
|
|
||||||
echo "NEXT_CHANGELOG.md not modified."
|
|
||||||
|
|
||||||
# Check if PR message contains NO_CHANGELOG=true
|
|
||||||
if echo "$pr_message" | grep -q "NO_CHANGELOG=true"; then
|
|
||||||
echo "NO_CHANGELOG=true found in PR message. Skipping changelog check."
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
echo "WARNING: file NEXT_CHANGELOG.md not changed. If this is expected, add NO_CHANGELOG=true to the PR message."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Comment on PR with instructions if needed
|
|
||||||
if: failure() # This step will only run if the previous step fails (i.e., if NEXT_CHANGELOG.md was not modified and NO_CHANGELOG=true was not in the PR message)
|
|
||||||
env:
|
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
run: |
|
|
||||||
# Check if a comment exists with the instructions
|
|
||||||
previous_comment_ids=$(gh api "repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments" \
|
|
||||||
--jq '.[] | select(.body | startswith("<!-- NEXT_CHANGELOG_INSTRUCTIONS -->")) | .id')
|
|
||||||
echo "Previous comment IDs: $previous_comment_ids"
|
|
||||||
|
|
||||||
# If no previous comment exists, add one with instructions
|
|
||||||
if [ -z "$previous_comment_ids" ]; then
|
|
||||||
echo "Adding instructions comment."
|
|
||||||
gh pr comment ${{ github.event.pull_request.number }} --body \
|
|
||||||
"<!-- NEXT_CHANGELOG_INSTRUCTIONS -->
|
|
||||||
Please ensure that the NEXT_CHANGELOG.md file is updated with any relevant changes.
|
|
||||||
If this is not necessary for your PR, please include the following in your PR description:
|
|
||||||
NO_CHANGELOG=true
|
|
||||||
and rerun the job."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Delete instructions comment on success
|
|
||||||
if: success() # This step will only run if the previous check passed (i.e., if NEXT_CHANGELOG.md was modified or NO_CHANGELOG=true is in the PR message)
|
|
||||||
env:
|
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
run: |
|
|
||||||
# Check if there is a previous instructions comment
|
|
||||||
previous_comment_ids=$(gh api "repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments" \
|
|
||||||
--jq '.[] | select(.body | startswith("<!-- NEXT_CHANGELOG_INSTRUCTIONS -->")) | .id')
|
|
||||||
|
|
||||||
# If a comment exists, delete it
|
|
||||||
if [ -n "$previous_comment_ids" ]; then
|
|
||||||
echo "Deleting previous instructions comment."
|
|
||||||
for comment_id in $previous_comment_ids; do
|
|
||||||
gh api "repos/${{ github.repository }}/issues/comments/$comment_id" --method DELETE
|
|
||||||
done
|
|
||||||
else
|
|
||||||
echo "No instructions comment found to delete."
|
|
||||||
fi
|
|
Loading…
Reference in New Issue