Skip to content

[Audit] Duplicate, uncached CI job execution across two workflows #1252

Description

@K1NGD4VID

Filed from the second-wave repository audit (issue 50/100). See the audit summary for full category context.

  • Location: .github/workflows/pr-test-gate.yml (fully duplicates ci.yml's contracts-test and backend-test jobs)
  • Problem: Both workflows trigger on pull_request to main and run the same test suites; pr-test-gate.yml's Rust job additionally has no Swatinem/rust-cache step (present in ci.yml), so contracts are rebuilt from a cold cache on every PR in addition to the already-cached build in ci.yml.
  • Evidence: Side-by-side job definitions in the two workflow files cover identical test scopes.
  • Suggested implementation: Consolidate into one workflow (or have pr-test-gate.yml depend on/reuse ci.yml's job results via workflow_run/reusable workflows) and add the missing rust-cache step if any duplication remains.
  • Acceptance criteria: Contracts/backend tests run exactly once per PR push, verified by comparing total CI minutes before/after.
  • Difficulty: M
  • Expected impact: Meaningfully reduces CI cost and PR feedback latency (two full Postgres+Prisma+Vitest+Cargo runs currently happen per push).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Stellar WaveIssues in the Stellar wave programenhancementNew feature or requestinfraCI/CD and infrastructuresecond-wave-auditFiled from the second-wave repo audit (100 issues)

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions