fix(ci): run main-branch jobs that depend on the PR-only filter job - #58
Merged
Conversation
Every push to main has been skipped since eb542e7. The `changes` job is gated `if: github.event_name == 'pull_request'`, so it is skipped on a push; the `ci` / `build-and-deploy` jobs that declare `needs: changes` were then skipped too, even though their own `if` evaluates true on a push. An `if` with no status-check function carries an implicit `success()` requirement on `needs`, and a skipped dependency does not satisfy it. Wrapping each condition in `!cancelled()` lets the job evaluate its own `if` instead. `!cancelled()` rather than `always()` so a genuine failure of `changes` still stops the job: `should_run` is then empty and the remaining clauses are false on pull_request events. Consequences of the bug: no docs deploy, no Go tests and no SDK tests have run on main for roughly six months. rep-protocol.dev is serving content from before #56, and `workflow_dispatch` could not be used to recover because it was skipped for the same reason. Also fixes the gateway download URLs in the installation guide, which returned 404 — GoReleaser publishes archives on the bare version tag (`v0.1.7`), not the `gateway/v0.1.7` tag release, and the documented version was 0.1.2. Adds a snippet that resolves the current release rather than pinning a version that goes stale.
Greptile SummaryNo merge-blocking issues found. The updated workflow conditions allow the documentation, gateway, and SDK jobs to run for main-branch pushes while retaining pull-request path filtering. The documentation site now serves the advertised Markdown mirrors and indexes, with alternate links and deployment header rules in place. Confidence Score: 5/5Safe to merge. The reviewed workflow behavior and rendered documentation routes completed their expected before-and-after checks without identifying an actionable defect. Files Needing Attention: None.
What T-Rex did
Reviews (1): Last reviewed commit: "fix(ci): run main-branch jobs that depen..." | Re-trigger Greptile |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every push to
mainhas been skipped sinceeb542e7(2026-02-25). No docs deploy, no Go tests, and no SDK tests have run on the default branch for roughly six months. PR checks were unaffected, which is why it went unnoticed.Root cause
Two conditions interact in all three workflows:
On a push,
changesis skipped by its ownif. The dependent job'sifevaluates true, yet the job still skipped — anifwith no status-check function carries an implicitsuccess()requirement onneeds, and a skipped dependency does not satisfy it.Evidence from run
34610222508(the merge of #57,event=push):Last five push runs per workflow — all skipped:
workflow_dispatchcould not be used to recover, because it was skipped for the same reason.Fix
Wrap each condition in
!cancelled()so the job evaluates its ownifrather than being gated by the skipped dependency — the same shape the*-statusjobs already use correctly:!cancelled()rather thanalways()so a genuine failure ofchangesstill stops the job:should_runis then empty and the remaining clauses are false onpull_requestevents.gateway.ymlandsdk.ymlhave noworkflow_dispatchtrigger, so their conditions keep their existing two clauses.Also: broken gateway download URLs
rep-protocol.devis currently serving content from before #56, including an install guide whose download command 404s:Two problems — GoReleaser publishes archives on the bare version tag (
v0.1.7), not thegateway/v0.1.7release, and the documented version was0.1.2. Fixed, plus a snippet that resolves the current release instead of pinning a version that goes stale again. Verified end to end:The CLI's
postinstall.js:74already builds the correct URL, sonpm i -g @rep-protocol/cliwas never affected.Verification
Merging this is itself a push to
maintouching.github/workflows/docs.ymlanddocs/**, both in theon.push.pathsfilter. So the merge is the test:Build and Deploy Docseither runs and ships the backlog to production, or reproduces the skip. Thedocs/**change also guarantees a real content update rather than a no-op deploy.All three workflow files parse as valid YAML and the docs build passes locally.