Skip to content

Commit 3e85e20

Browse files
TheMeinerLPclaude
andauthored
ci: let the build be started by hand, not only by a pull request (#42)
Build PR ran on `pull_request` alone, and that turned out to be the only way to get a build at all. When feat/block-storage conflicted with main on 2026-08-02 at 21:07 UTC, GitHub stopped being able to form refs/pull/39/merge, and with no mergeable state no run was created -- not a failed one, not a skipped one, none. Both open PRs sat without CI for fifteen hours and nothing in the UI said why. The only workflow carrying workflow_dispatch was Benchmark, so there was no way to ask for a build and watch it fail. A manual trigger does not fix the conflict, but it makes the state visible instead of silent. force-build is tied to the event because the reusable workflow decides whether to build from a dorny/paths-filter comparison, and that comparison has no base outside a pull request. A run somebody started by hand is one they want regardless of what changed, so it skips the filter rather than depending on whatever the filter answers without a base. On a pull_request event the expression is false and the path filter keeps deciding exactly as before. Not verified yet, and it cannot be from a branch: GitHub reads workflow_dispatch only from the default branch, so the button does not appear for this workflow until this is merged. What to check afterwards is in the pull request. Claude-Session: https://claude.ai/code/session_01NGpJqdmh7ZNH487GLqPJmK Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 272cb0b commit 3e85e20

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

.github/workflows/build-pr.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
name: Build PR
22

3-
on: [pull_request]
3+
on:
4+
pull_request:
5+
workflow_dispatch:
46

57
permissions:
68
contents: read
@@ -10,9 +12,15 @@ permissions:
1012
jobs:
1113
build:
1214
# Reuse the OneLiteFeather org build workflow (Java 25, OS matrix, tests, coverage).
15+
#
16+
# force-build on a manual run: the reusable workflow decides whether to build from a
17+
# dorny/paths-filter comparison, and that comparison has no base outside a pull request. A
18+
# manual run is one somebody asked for regardless of what changed, so it skips the filter
19+
# instead of depending on what the filter would answer without a base.
1320
uses: OneLiteFeatherNET/workflows/.github/workflows/gradle-build-pr.yml@v2.4.0
1421
with:
1522
java-version: "25"
1623
java-distribution: "temurin"
1724
run-tests: true
25+
force-build: ${{ github.event_name == 'workflow_dispatch' }}
1826
secrets: inherit

0 commit comments

Comments
 (0)