Skip to content

fix: make the monthly framework update workflow reviewable - #175

Merged
alondmnt merged 2 commits into
joplin:masterfrom
alondmnt:fix/framework-update-workflow
Sep 16, 2026
Merged

alondmnt merged 2 commits into
joplin:masterfrom
alondmnt:fix/framework-update-workflow

Conversation

@alondmnt

@alondmnt alondmnt commented Sep 16, 2026 •

Copy link
Copy Markdown
Collaborator

What

Two independent fixes to .github/workflows/update-framework.yml, one commit each:

  1. Pass an explicit token to peter-evans/create-pull-request so CI runs on the PRs it opens.
  2. Drop branch-suffix: timestamp so it updates one rolling PR instead of opening a new one every month.

Why

Together these explain why the automated framework PRs pile up unreviewed.

No CI. Without a token, the action falls back to GITHUB_TOKEN, and GitHub deliberately suppresses workflow triggers for events raised by that token to stop workflows recursing into themselves. So ci.yml's pull_request trigger has never fired on any of these PRs. Measurable on #172:

check-runs:       total_count = 0
combined status:  pending, 0 statuses
mergeStateStatus: UNSTABLE

UNSTABLE with zero checks, not failing checks. A 22 file api surface change with no signal at all is a reasonable thing for a reviewer to balk at.

Duplicate PRs. generator-joplin publishes far less often than this workflow runs. It last released 3.7.2 on 16 June and has not moved since, so the July, August and September runs all produced identical output. #168, #170 and #172 were byte-identical (verified with shasum over gh pr diff), and #162 differed only because it predates the June release. With a timestamp suffix each run got its own branch, so the action created a new PR rather than updating the open one.

How

token: ${{ secrets.FRAMEWORK_UPDATE_TOKEN || github.token }} uses the secret when it is set and falls back to the current behaviour when it is not, so an unconfigured repo keeps working instead of failing the run.

Removing branch-suffix restores the action's normal behaviour of updating the existing PR in place. delete-branch: true is already set, so cleanup on merge or close is unaffected.

Both changes are commented in the workflow, since neither is obvious from the YAML and both look like reasonable settings at a glance.

This needs a repo secret to take full effect. FRAMEWORK_UPDATE_TOKEN should be a PAT or app token with repo scope. Until it exists the workflow keeps running, just without CI, as today.

#162, #168 and #170 are now closed and #172 is merged, so the next scheduled run on 1 October will open a single fresh PR against the fixed branch name.

peter-evans/create-pull-request was called without a token, so it fell
back to GITHUB_TOKEN. GitHub deliberately suppresses workflow triggers
for events raised by that token to avoid recursive runs, so ci.yml's
pull_request trigger never fired on these PRs.

The effect is visible on every one opened so far: joplin#172 had zero check
runs and a mergeStateStatus of UNSTABLE, which is why they sat unmerged.
Nobody wants to approve a 22 file api change with no signal.

Use FRAMEWORK_UPDATE_TOKEN when it is set, falling back to github.token
so an unconfigured repository keeps working exactly as before rather
than failing the run. The secret still needs creating for CI to actually
run on these PRs.
branch-suffix: timestamp gave each monthly run its own branch, so the
action always created a new pull request instead of updating the open
one. generator-joplin publishes far less often than this workflow runs,
so the queue filled with duplicates: joplin#168, joplin#170 and joplin#172 were byte
identical, all for a framework snapshot that had not changed since June.

Dropping the suffix restores the action's normal behaviour of updating
the existing PR in place, which leaves one rolling PR to review.

delete-branch is already set, so the branch is still cleaned up once the
PR is merged or closed.
@alondmnt
alondmnt merged commit 1e585db into joplin:master Sep 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant