mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-21 23:20:20 +00:00
1d03944a9c
It’s possible but unlikely that a push of generated notes back to the remote can fail with a message like > [remote rejected] ... cannot > lock ref 'refs/notes/commits': is at >f3648f50bb
but expected47686bf473
See https://github.com/LadybirdBrowser/ladybird/actions/runs/10054314539 So this change makes the call to “git push” for notes not return 0 even if it fails — because it’s not actually a fatal error when it happens, and not something we need to stop and fix. Instead, it fixes itself. Specifically: If one CI job for a PR merge/push to master generates some notes but fails to push them to the origin, the notes don’t get dropped on the floor and lost. Instead, the notes-generator tool looks at the entire history; and if it finds commits that don’t have notes — even if those commits are not part of the PR push/merge it’s operating on — it generates notes for those. In other words, if notes for one PR push/job fail for some reason to get pushed back to the remote, they get regenerated by the next PR push/job.
22 lines
587 B
YAML
22 lines
587 B
YAML
name: Push notes
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
permissions:
|
|
contents: write
|
|
jobs:
|
|
build:
|
|
if: github.repository == 'LadybirdBrowser/ladybird'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: fregante/setup-git-user@v2
|
|
- run: |
|
|
git fetch origin "refs/notes/*:refs/notes/*"
|
|
curl -fsSLO https://sideshowbarker.github.io/git-gloss/git-gloss && bash ./git-gloss
|
|
git push origin "refs/notes/*" || true
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|