Skip to content

build(deps): bump the uv group across 1 directory with 3 updates #6234

build(deps): bump the uv group across 1 directory with 3 updates

build(deps): bump the uv group across 1 directory with 3 updates #6234

name: changelog-reminder
on:
pull_request:
types: [opened, synchronize, reopened, labeled, unlabeled]
jobs:
changelog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: check-changelog
run: |
set -euo pipefail
if echo "${{ toJson(github.event.pull_request.labels.*.name) }}" | grep -q "skip-changelog"; then
echo "skip-changelog label present; passing without requiring changelog update."
exit 0
fi
base_branch="${GITHUB_BASE_REF:-}"
if [ -z "$base_branch" ]; then
default_remote_head=$(git symbolic-ref --short refs/remotes/origin/HEAD)
base_branch="${default_remote_head#origin/}"
fi
git fetch origin "$base_branch"
base_ref="origin/$base_branch"
head_ref="HEAD"
changed_files=$(git diff --name-only "$base_ref"..."$head_ref")
if ! echo "$changed_files" | grep -q "^CHANGELOG.md$"; then
echo "CHANGELOG.md was not updated."
echo "If this change intentionally does not require a changelog, add the 'skip-changelog' label to the PR."
exit 1
fi
# The offchain crates each keep their own changelog as well, which is
# what their releases read. This list comes from the changelog-reminder
# that doublezero-offchain ran before the merge, with its paths moved
# under offchain/.
projects=(
"offchain/crates/contributor-rewards"
"offchain/crates/scheduled-command"
"offchain/crates/sentinel"
"offchain/crates/slack-notifier"
"offchain/crates/solana-admin-cli/passport"
"offchain/crates/solana-admin-cli/revenue-distribution"
"offchain/crates/solana-admin-cli/sol-conversion"
"offchain/crates/solana-cli"
"offchain/crates/solana-client-tools"
"offchain/crates/solana-fork"
"offchain/crates/solana-interface/sol-conversion"
"offchain/crates/validator-debt"
"offchain/scheduler"
)
missing=()
for subdir in "${projects[@]}"; do
if echo "$changed_files" | grep -q "^${subdir}/"; then
if ! echo "$changed_files" | grep -q "^${subdir}/CHANGELOG.md$"; then
missing+=("$subdir")
fi
fi
done
if [ ${#missing[@]} -eq 0 ]; then
exit 0
fi
echo "These subprojects changed but their own changelog was not updated:"
for m in "${missing[@]}"; do
echo " - $m (expected $m/CHANGELOG.md)"
done
echo
echo "If this change intentionally does not require a changelog, add the 'skip-changelog' label to the PR."
exit 1