-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: rework dependency updater (#431)
- Loading branch information
Showing
1 changed file
with
24 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -24,30 +24,30 @@ jobs: | |
git config --global user.email "[email protected]" | ||
pip install poetry | ||
pr_name=$(echo "Dependency Updates") | ||
make update-dependencies | ||
for file in $(git diff --name-only | grep poetry.lock); do | ||
# Extract the service for which the dependencies have been updated | ||
dirpath=$(dirname $file) | ||
pr_name=$(echo "Dependency Updater: ${dirpath}") | ||
# Check if a PR already exists for the package | ||
if gh pr list --state open | grep -q "${pr_name}"; then | ||
echo "Pr for $dirpath already exists. Deleting old PR." | ||
pr_number=$(gh pr list --state open --json number --search "$pr_name" -q '.[0].number') | ||
gh pr close "$pr_number" --delete-branch | ||
branch_name="dependency-updater-${{ github.run_id }}" | ||
git checkout -b "$branch_name" | ||
fi | ||
# Create PR | ||
branch_name="dependency-updater-$dirpath-${{ github.run_id }}" | ||
git checkout -b "$branch_name" | ||
git add "$file" | ||
git commit -m "chore: dependency update" | ||
git push --set-upstream origin "$branch_name" | ||
echo $(git status) | ||
gh pr create --title "$pr_name" --body "Automated dependency update" --base "main" | ||
git checkout main | ||
sleep 30 # prevent rate limit. | ||
done | ||
if [ -n "$(git diff --name-only)" ]; then | ||
for file in $(git diff --name-only | grep poetry.lock); do | ||
# Extract the service for which the dependencies have been updated | ||
dirpath=$(dirname $file) | ||
git add "$file" | ||
git commit -m "chore: dependency update for ${dirpath}" | ||
done | ||
# Check if a PR already exists for dependency updates | ||
if gh pr list --state open | grep -q "${pr_name}"; then | ||
echo "Pr for $dirpath already exists. Deleting old PR." | ||
pr_number=$(gh pr list --state open --json number --search "$pr_name" -q '.[0].number') | ||
gh pr close "$pr_number" --delete-branch | ||
fi | ||
git push --set-upstream origin "$branch_name" | ||
gh pr create --title "$pr_name" --body "Automated dependency update" --base "main" | ||
else | ||
echo "No changes detected. Skipping PR creation." | ||
fi |