Skip to content

🧹 chore: Use daggerverse linear checker#28

Merged
yeazelm merged 1 commit intomainfrom
dagger-linear-check
May 6, 2026
Merged

🧹 chore: Use daggerverse linear checker#28
yeazelm merged 1 commit intomainfrom
dagger-linear-check

Conversation

@jpmcb
Copy link
Copy Markdown
Contributor

@jpmcb jpmcb commented May 6, 2026

Adds:

  • PR title checker
  • Linear magic word checker

Towards CTO-33

Signed-off-by: John McBride <john@papercompute.com>
@linear-code
Copy link
Copy Markdown

linear-code Bot commented May 6, 2026

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 6, 2026

Greptile Summary

This PR introduces a new GitHub Actions workflow (.github/workflows/pr.yaml) that runs two Dagger-based checks on every pull request: one for PR title conformance and one for a Linear "magic word" in the PR body.

  • Both jobs install the Dagger CLI and invoke the ghcontrib module from the same daggerverse repo to perform the checks, using GITHUB_TOKEN for GitHub API access and an optional DAGGER_CLOUD_TOKEN for telemetry.
  • The remote Dagger module reference (github.com/papercomputeco/daggerverse/ghcontrib) is unversioned, meaning it always resolves to the default branch HEAD; pinning to a tag or commit SHA would make the behaviour deterministic.
  • The actions/checkout@v4 step in each job appears unused since Dagger fetches the module directly from GitHub rather than from the local workspace.

Confidence Score: 4/5

Safe to merge; the workflow functions correctly as written with no blocking defects.

The workflow is straightforward and the checks will work as intended. The unversioned module reference means any future change to ghcontrib on main silently changes the checker behaviour for all open PRs, and the checkout steps add latency without contributing anything. Neither issue prevents the workflow from operating correctly today.

.github/workflows/pr.yaml — the unversioned remote module reference and the unused checkout steps are worth addressing before this pattern is copied to other workflows.

Important Files Changed

Filename Overview
.github/workflows/pr.yaml New workflow adding two Dagger-powered PR checks (title conformance and Linear magic word); remote module reference is unpinned and checkout steps appear unused.

Sequence Diagram

sequenceDiagram
    participant GH as GitHub (PR Event)
    participant Runner as depot-ubuntu-24.04
    participant DaggerCLI as Dagger CLI v0.20.6
    participant Module as papercomputeco/daggerverse/ghcontrib
    participant GHAPI as GitHub API

    GH->>Runner: pull_request (opened/edited/synchronize/reopened)
    
    par check-pr-title job
        Runner->>Runner: actions/checkout@v4
        Runner->>DaggerCLI: dagger/dagger-for-github@v8.2.0
        Runner->>DaggerCLI: dagger call -m github.com/.../ghcontrib check-pull-request --number N
        DaggerCLI->>Module: fetch module from GitHub (unversioned)
        Module->>GHAPI: fetch PR #N details (GH_TOKEN)
        GHAPI-->>Module: PR title
        Module-->>DaggerCLI: pass / fail
        DaggerCLI-->>Runner: exit 0 / exit 1
    and check-linear-magic-word job
        Runner->>Runner: actions/checkout@v4
        Runner->>DaggerCLI: dagger/dagger-for-github@v8.2.0
        Runner->>DaggerCLI: dagger call -m github.com/.../ghcontrib check-pull-request-linear-magic-word --number N
        DaggerCLI->>Module: fetch module from GitHub (unversioned)
        Module->>GHAPI: fetch PR #N body (GH_TOKEN)
        GHAPI-->>Module: PR body
        Module-->>DaggerCLI: pass / fail
        DaggerCLI-->>Runner: exit 0 / exit 1
    end
Loading

Comments Outside Diff (2)

  1. .github/workflows/pr.yaml, line 34-38 (link)

    P2 Unpinned remote Dagger module reference

    Both dagger call invocations reference github.com/papercomputeco/daggerverse/ghcontrib without a version tag or commit SHA. Dagger resolves this to the HEAD of the default branch, so any future commit to ghcontrib on main — including breaking changes — immediately affects every in-flight PR check without any explicit upgrade step. Appending @<tag> or @<git-sha> would make the behaviour deterministic. The same applies to the check-linear-magic-word job at line 58.

    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: .github/workflows/pr.yaml
    Line: 34-38
    
    Comment:
    **Unpinned remote Dagger module reference**
    
    Both `dagger call` invocations reference `github.com/papercomputeco/daggerverse/ghcontrib` without a version tag or commit SHA. Dagger resolves this to the HEAD of the default branch, so any future commit to `ghcontrib` on `main` — including breaking changes — immediately affects every in-flight PR check without any explicit upgrade step. Appending `@<tag>` or `@<git-sha>` would make the behaviour deterministic. The same applies to the `check-linear-magic-word` job at line 58.
    
    How can I resolve this? If you propose a fix, please make it concise.
  2. .github/workflows/pr.yaml, line 23-25 (link)

    P2 Checkout step likely unnecessary

    Both jobs perform actions/checkout@v4 but immediately invoke Dagger with a fully-qualified remote module URL (github.com/papercomputeco/daggerverse/ghcontrib). Dagger fetches that module directly from GitHub rather than from the local workspace, so the checked-out source is never used. Removing the checkout step would shorten job startup by a few seconds. The same applies to the identical step in check-linear-magic-word (line 47–49).

    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: .github/workflows/pr.yaml
    Line: 23-25
    
    Comment:
    **Checkout step likely unnecessary**
    
    Both jobs perform `actions/checkout@v4` but immediately invoke Dagger with a fully-qualified remote module URL (`github.com/papercomputeco/daggerverse/ghcontrib`). Dagger fetches that module directly from GitHub rather than from the local workspace, so the checked-out source is never used. Removing the checkout step would shorten job startup by a few seconds. The same applies to the identical step in `check-linear-magic-word` (line 47–49).
    
    How can I resolve this? If you propose a fix, please make it concise.
Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
.github/workflows/pr.yaml:34-38
**Unpinned remote Dagger module reference**

Both `dagger call` invocations reference `github.com/papercomputeco/daggerverse/ghcontrib` without a version tag or commit SHA. Dagger resolves this to the HEAD of the default branch, so any future commit to `ghcontrib` on `main` — including breaking changes — immediately affects every in-flight PR check without any explicit upgrade step. Appending `@<tag>` or `@<git-sha>` would make the behaviour deterministic. The same applies to the `check-linear-magic-word` job at line 58.

### Issue 2 of 2
.github/workflows/pr.yaml:23-25
**Checkout step likely unnecessary**

Both jobs perform `actions/checkout@v4` but immediately invoke Dagger with a fully-qualified remote module URL (`github.com/papercomputeco/daggerverse/ghcontrib`). Dagger fetches that module directly from GitHub rather than from the local workspace, so the checked-out source is never used. Removing the checkout step would shorten job startup by a few seconds. The same applies to the identical step in `check-linear-magic-word` (line 47–49).

Reviews (1): Last reviewed commit: "🧹 chore: Use daggerverse linear checker" | Re-trigger Greptile

@jpmcb jpmcb requested a review from a team May 6, 2026 19:03
@yeazelm yeazelm merged commit 7f3c943 into main May 6, 2026
2 checks passed
@yeazelm yeazelm deleted the dagger-linear-check branch May 6, 2026 20:20
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.

2 participants