Skip to content

chore(ci): stop the rust crate version checks from timing out - #127240

Merged
trunk-io[bot] merged 2 commits into
masterfrom
claude/anonymizer-version-check-api
Nov 2, 2026
Merged

trunk-io[bot] merged 2 commits into
masterfrom
claude/anonymizer-version-check-api

Conversation

@robbie-c

@robbie-c robbie-c commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Problem

  • On PRs that touch a published Rust crate, the version check often ends as cancelled, so the PR gets no version-bump reminder.
  • Three crates use this check: posthog-replay-anonymizer, hogql-parser-rs and deltalite.
  • Each check fetches git history for step-security/changed-files inside a 5-minute job timeout.
  • The fetch exceeded the timeout in anonymizer run 41419170574 and hogql-parser-rs run 40913592188.

Changes

  • The three checks read the PR's changed files from the GitHub API with the vendored .github/actions/paths-filter action.
  • Each checkout is sparse: it holds only the paths that the job reads.
  • chore(ci): migrate remaining paths-filter call sites to the vendored action #69171 made the vendored action the repo's one change detector, with approval from team-devex and team-security reviewers.
  • step-security/changed-files was a temporary replacement for tj-actions/changed-files after that action was compromised (chore: Reinstate changed-files steps #30000).
  • Mechanical: the version comparisons, the reminder comments and the anonymizer publish job do not change.

How did you test this code?

  • bin/hogli lint:workflows and actionlint 1.7.12, the version CI pins, pass.
  • hogli ci:plan shows the same steps run in each scenario as before.
  • The committed paths-filter bundle, run locally against the API, gave these outputs in about one second each:
PR Workflow Outputs
#126496 anonymizer crate=true
#126087 anonymizer crate=false
#68930 hogql-parser-rs parser=true, workflow=false
#127090 hogql-parser-rs parser=false, workflow=false
#126399 deltalite deltalite=true, workflow=false
#127090 deltalite deltalite=false, workflow=true
  • Scratch sparse worktrees hold only the listed paths. The version reads and the import in post-reminder-section.mjs work there.
  • Not run in CI yet: the path where a crate changed. This PR's runs cover only the path where the workflow changed alone.
  • On that path, the hogql-parser-rs and deltalite workflows also build their wheels.

Test rationale: No new test. These workflows have no test suite, and the checks above cover both outcomes of each filter.

Release status

  • No feature flag controls this change

Docs update

  • None. The crate READMEs describe the reminders, which do not change.

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Agent: Claude Code, Claude Opus 5.5 (claude-opus-5-5)

Skills: /authoring-ci-workflows, /writing-pr-descriptions, /asd-ste100

  • No duplicate: a search of open PRs found none. Two bot PRs touch the same workflows (see below).
  • CodeRabbit: skipped.
More context for AI agents

🤖 Generated with Claude Code

The check-version-bump job ran step-security/changed-files on a depth-1
checkout. That action fetches more history before it can diff, and on
this repository the fetch often outran the job's 5-minute timeout, which
GitHub reports as cancelled.

The job now reads the PR's changed files from the GitHub API through the
vendored paths-filter action, and checks out only the four paths it
reads.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@robbie-c robbie-c self-assigned this Nov 2, 2026
@trunk-io

trunk-io Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

😎 Merged successfully - details.

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

🤖 CI report

⚠️ Trunk lane — backend Python lane

This PR is assigned to the backend Python lane. It runs backend Python tests and may merge in parallel with PRs in other lanes.

@hosthog

hosthog Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

HostHog preview — posthog-desktop-web

The previews for this PR have been torn down and no longer serve.

@robbie-c
robbie-c marked this pull request as ready for review November 2, 2026 12:48
@parameterai

parameterai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Risk: No findings

This delta applies the already-reviewed pattern from publish-replay-anonymizer-crate.yml to two more release-check workflows (build-deltalite.yml, build-hogql-parser-rs.yml): a sparse non-cone checkout of just the paths the job reads, and the vendored .github/actions/paths-filter action reading changed files from the GitHub API instead of fetching git history. I traced every changed line and found no new security issue: the version-comparison and publish gates are unchanged, publish still requires a manual dispatch on master in PostHog/posthog, and the action's boolean outputs ('true'/'false') match the bash comparisons that consumed the old *_any_changed outputs.

Sentinel reviewed 58518ba · Review settings

@pr-assigner-resolver-posthog
pr-assigner-resolver-posthog Bot requested a review from a team November 2, 2026 12:50
…checks

The hogql-parser-rs and deltalite version checks ran
step-security/changed-files on a full-history blob:none checkout. That
checkout took most of the job's 5-minute timeout, and some
hogql-parser-rs runs hit the timeout inside it.

Both jobs now use the vendored paths-filter action, which reads the PR's
changed files from the GitHub API, and check out only the paths they
read. This matches the replay-anonymizer version check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@robbie-c robbie-c changed the title chore(ci): stop the anonymizer version check from timing out chore(ci): stop the rust crate version checks from timing out Nov 2, 2026
@robbie-c robbie-c added the stamphog Request AI approval (no full review) label Nov 2, 2026

@stamphog stamphog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not approved — this change needs a human reviewer.

Re-adding the stamphog label gives the same result unless the changed files change.

stamphog won't auto-review this pull request because two gates refused it. The deny-list gate flagged all three changed files (build-deltalite.yml, build-hogql-parser-rs.yml and publish-replay-anonymizer-crate.yml) as CI workflow paths, which stamphog approves only for authors on team-devex. The tier gate also classified the change as T2-never, so size was not the problem: at 57 lines across 3 files it was within the ceiling.

Please ask a human reviewer to look at it, ideally someone from team-devex, since the changes are all in .github/workflows. Splitting the pull request would not help, because each file would still match the CI workflow deny-list.

Gate mechanics and policy version
Gate Result
prerequisites ✓ all clear
deny-list ✗ matches: ci_workflows (stamphog approves these paths only for authors on team-devex)
size ✓ 57L, 3F substantive — within ceiling
tier ✗ classified as T2-never: T2-never (57L, 3F, single-area, chore)
stamphog 2.6.1 .stamphog/policy.yml @ unknown · reviewed head 58518ba

@stamphog stamphog Bot removed the stamphog Request AI approval (no full review) label Nov 2, 2026

@rnegron rnegron left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice!

@trunk-io
trunk-io Bot merged commit a925ce7 into master Nov 2, 2026
267 checks passed
@trunk-io
trunk-io Bot deleted the claude/anonymizer-version-check-api branch November 2, 2026 14:00
@deployment-status-posthog

deployment-status-posthog Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-11-02 14:23 UTC Run
prod-us ✅ Deployed 2026-11-02 14:50 UTC Run
prod-eu ✅ Deployed 2026-11-02 14:37 UTC Run

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