mirror of
https://github.com/tomasriveral/nixos.git
synced 2026-08-12 02:28:37 +02:00
CI: fix crash when no diff
This commit is contained in:
@@ -49,20 +49,30 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
- name: Check for changes
|
||||||
|
run: |
|
||||||
|
git fetch origin main "${{ steps.branch.outputs.source }}"
|
||||||
|
HAS_CHANGES=true
|
||||||
|
if git diff --quiet \
|
||||||
|
"origin/main...origin/${{ steps.branch.outputs.source }}"; then
|
||||||
|
HAS_CHANGES=false
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Check for existing PR
|
- name: Check for existing PR
|
||||||
id: existing
|
id: existing
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
PR_NUMBER=$(gh pr list \
|
if $HAS_CHANGES; then
|
||||||
--base main \
|
PR_NUMBER=$(gh pr list \
|
||||||
--head "${{ steps.branch.outputs.source }}" \
|
--base main \
|
||||||
--state open \
|
--head "${{ steps.branch.outputs.source }}" \
|
||||||
--json number \
|
--state open \
|
||||||
--jq '.[0].number // empty')
|
--json number \
|
||||||
|
--jq '.[0].number // empty')
|
||||||
|
|
||||||
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
|
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Create PR
|
- name: Create PR
|
||||||
id: create
|
id: create
|
||||||
@@ -70,28 +80,31 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
gh pr create \
|
if $HAS_CHANGES; then
|
||||||
--base main \
|
gh pr create \
|
||||||
--head "${{ steps.branch.outputs.source }}" \
|
--base main \
|
||||||
--title "Weekly sync: ${{ steps.branch.outputs.source }} → main" \
|
--head "${{ steps.branch.outputs.source }}" \
|
||||||
--body "This pull request was created automatically by GitHub Actions."
|
--title "Weekly sync: ${{ steps.branch.outputs.source }} → main" \
|
||||||
|
--body "This pull request was created automatically by GitHub Actions."
|
||||||
|
|
||||||
PR_NUMBER=$(gh pr list \
|
PR_NUMBER=$(gh pr list \
|
||||||
--base main \
|
--base main \
|
||||||
--head "${{ steps.branch.outputs.source }}" \
|
--head "${{ steps.branch.outputs.source }}" \
|
||||||
--state open \
|
--state open \
|
||||||
--json number \
|
--json number \
|
||||||
--jq '.[0].number')
|
--jq '.[0].number')
|
||||||
|
|
||||||
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
|
|
||||||
|
|
||||||
|
echo "number=$PR_NUMBER" >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
- name: Determine PR number
|
- name: Determine PR number
|
||||||
id: pr
|
id: pr
|
||||||
run: |
|
run: |
|
||||||
if [ -n "${{ steps.existing.outputs.number }}" ]; then
|
if $HAS_CHANGES; then
|
||||||
echo "number=${{ steps.existing.outputs.number }}" >> "$GITHUB_OUTPUT"
|
if [ -n "${{ steps.existing.outputs.number }}" ]; then
|
||||||
else
|
echo "number=${{ steps.existing.outputs.number }}" >> "$GITHUB_OUTPUT"
|
||||||
echo "number=${{ steps.create.outputs.number }}" >> "$GITHUB_OUTPUT"
|
else
|
||||||
|
echo "number=${{ steps.create.outputs.number }}" >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Enable auto-merge
|
- name: Enable auto-merge
|
||||||
@@ -99,7 +112,9 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
gh pr merge \
|
if $HAS_CHANGES; then
|
||||||
"${{ steps.pr.outputs.number }}" \
|
gh pr merge \
|
||||||
--auto \
|
"${{ steps.pr.outputs.number }}" \
|
||||||
--merge
|
--auto \
|
||||||
|
--merge
|
||||||
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user