Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 8 additions & 15 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,17 +78,17 @@ jobs:
# Re-declare each package on the same package-specific branch used by
# wheel publication. This preserves publication metadata already
# waiting for review while keeping unrelated packages isolated.
#
# An existing branch is built on as it is, never rebased: a force push
# re-triggers every workflow on its PR, even when they were passing
# and nothing conflicted. Conflicts with main are left to be fixed
# manually.
open_pr() {
local package="$1" slug="$2" title="$3"
local branch="package/$slug" pr pr_title="$slug: update packages" remote_sha=""
local branch="package/$slug" pr pr_title="$slug: update packages"

if git fetch --quiet origin "$branch" 2>/dev/null; then
remote_sha=$(git rev-parse FETCH_HEAD) || return 1
git switch --force-create "$branch" "$remote_sha" || return 1
if ! git rebase "$base"; then
git rebase --abort || true
return 1
fi
git switch --force-create "$branch" FETCH_HEAD || return 1
else
git switch --force-create "$branch" "$base" || return 1
fi
Expand All @@ -97,21 +97,14 @@ jobs:
ci_scripts/check_versions.py --declare "$package" || return 1

if git diff --quiet -- docs/packages ci_scripts/packages.txt ci_scripts/deprecated.txt; then
if [ -n "$remote_sha" ] && [ "$(git rev-parse HEAD)" != "$remote_sha" ]; then
git push --force-with-lease="$branch:$remote_sha" origin "$branch" || return 1
fi
echo "$package: nothing to declare"
return 0
fi

git add docs/packages ci_scripts/packages.txt ci_scripts/deprecated.txt || return 1
git commit -s -m "$title" || return 1

if [ -n "$remote_sha" ]; then
git push --force-with-lease="$branch:$remote_sha" origin "$branch" || return 1
else
git push origin "$branch" || return 1
fi
git push origin "$branch" || return 1

pr=$(gh pr list --repo "$GITHUB_REPOSITORY" --head "$branch" --state open --json url --jq '.[0].url') || return 1
if [ -n "$pr" ]; then
Expand Down
Loading