Skip to content

🧹 chore: Use daggerverse linear checker#32

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

🧹 chore: Use daggerverse linear checker#32
yeazelm merged 1 commit into
mainfrom
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 adds a new GitHub Actions workflow (.github/workflows/pr.yaml) that runs two Dagger-based checks on every pull request: one verifying the PR title conforms to conventions, and one confirming a Linear magic word is present in the PR body.

  • PR title check: calls check-pull-request on github.com/papercomputeco/daggerverse/ghcontrib, passing the GitHub token and PR number.
  • Linear magic word check: calls check-pull-request-linear-magic-word on the same Dagger module; both jobs run in parallel with cancel-in-progress: true and minimal contents: read + pull-requests: read permissions.

Confidence Score: 4/5

Safe to merge; the workflow is additive and well-scoped, though the unpinned Dagger module reference is worth addressing before the checks become load-bearing.

Both jobs use minimal permissions and pass credentials safely via environment variable references. The only notable concerns are the unpinned daggerverse/ghcontrib module (any upstream change silently affects CI) and the redundant checkout steps that clone the repo when only the GitHub API is used.

.github/workflows/pr.yaml — review the unpinned Dagger module reference and the checkout steps in both jobs.

Important Files Changed

Filename Overview
.github/workflows/pr.yaml New GitHub Actions workflow adding two Dagger-backed PR checks (title conformance and Linear magic word). Module reference is unpinned; checkout steps appear unnecessary.

Sequence Diagram

sequenceDiagram
    participant GH as GitHub Actions
    participant D as Dagger Engine
    participant DV as daggerverse/ghcontrib
    participant API as GitHub API

    GH->>D: Install Dagger v0.20.6
    GH->>D: dagger call check-pull-request --number {PR#}
    D->>DV: Load module (unpinned HEAD)
    DV->>API: GET /repos/{repo}/pulls/{PR#}
    API-->>DV: PR title + body
    DV-->>GH: Pass / Fail (title check)

    GH->>D: dagger call check-pull-request-linear-magic-word --number {PR#}
    D->>DV: Load module (unpinned HEAD)
    DV->>API: GET /repos/{repo}/pulls/{PR#}
    API-->>DV: PR body
    DV-->>GH: Pass / Fail (Linear magic word check)
Loading

Comments Outside Diff (2)

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

    P2 Unpinned Dagger module version

    github.com/papercomputeco/daggerverse/ghcontrib has no version tag or commit SHA appended, so Dagger resolves it to the latest HEAD of that path on every run. Any breaking change to the module's interface (renamed command, changed flags, removed function) will silently break CI without any change to this workflow file. The same applies to the equivalent call in check-linear-magic-word. Pin both calls to a specific tag or commit (e.g. github.com/papercomputeco/daggerverse/ghcontrib@<commit>) to get reproducible runs.

    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: .github/workflows/pr.yaml
    Line: 32-38
    
    Comment:
    **Unpinned Dagger module version**
    
    `github.com/papercomputeco/daggerverse/ghcontrib` has no version tag or commit SHA appended, so Dagger resolves it to the latest HEAD of that path on every run. Any breaking change to the module's interface (renamed command, changed flags, removed function) will silently break CI without any change to this workflow file. The same applies to the equivalent call in `check-linear-magic-word`. Pin both calls to a specific tag or commit (e.g. `github.com/papercomputeco/daggerverse/ghcontrib@<commit>`) to get reproducible runs.
    
    How can I resolve this? If you propose a fix, please make it concise.
  2. .github/workflows/pr.yaml, line 25-26 (link)

    P2 Unnecessary checkout step

    Both jobs invoke the Dagger module exclusively via the GitHub API (--token + --repo + PR --number) and never read files from the local workspace. The actions/checkout@v4 step clones the repository for no reason, adding ~5-10 s to each job. The same pattern is repeated in the check-linear-magic-word job. Consider removing both checkout steps.

    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: .github/workflows/pr.yaml
    Line: 25-26
    
    Comment:
    **Unnecessary checkout step**
    
    Both jobs invoke the Dagger module exclusively via the GitHub API (`--token` + `--repo` + PR `--number`) and never read files from the local workspace. The `actions/checkout@v4` step clones the repository for no reason, adding ~5-10 s to each job. The same pattern is repeated in the `check-linear-magic-word` job. Consider removing both checkout steps.
    
    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:32-38
**Unpinned Dagger module version**

`github.com/papercomputeco/daggerverse/ghcontrib` has no version tag or commit SHA appended, so Dagger resolves it to the latest HEAD of that path on every run. Any breaking change to the module's interface (renamed command, changed flags, removed function) will silently break CI without any change to this workflow file. The same applies to the equivalent call in `check-linear-magic-word`. Pin both calls to a specific tag or commit (e.g. `github.com/papercomputeco/daggerverse/ghcontrib@<commit>`) to get reproducible runs.

### Issue 2 of 2
.github/workflows/pr.yaml:25-26
**Unnecessary checkout step**

Both jobs invoke the Dagger module exclusively via the GitHub API (`--token` + `--repo` + PR `--number`) and never read files from the local workspace. The `actions/checkout@v4` step clones the repository for no reason, adding ~5-10 s to each job. The same pattern is repeated in the `check-linear-magic-word` job. Consider removing both checkout steps.

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

@jpmcb jpmcb requested a review from a team May 6, 2026 18:57
@yeazelm yeazelm merged commit 7f3386e into main May 6, 2026
4 checks passed
@continue
Copy link
Copy Markdown

continue Bot commented May 6, 2026

No docs update needed. This PR adds internal CI workflows (PR title checker and Linear magic word checker) but doesn't change any user-facing configuration options, features, or behavior.

PR #32 was merged: 🧹 chore: Use daggerverse linear checker
PR URL: #32
Merged by: yeazelm

@jpmcb jpmcb deleted the dagger-linear-check branch May 15, 2026 14:16
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