Skip to content

[Refactor]: Harden CI Workflows With Concurrency, Timeouts, Credential Scoping, Caching, and Correct Triggers #73

Description

@mowi12

What part of the code is affected?

.github/workflows/: code_quality_checks.yml, pr_quality_checks.yml, benchmark.yml, and the composite .github/workflows/setup/action.yml.

Why is it problematic?

  • No concurrency → superseded PR runs finish anyway, wasting minutes.
  • No timeout-minutes → a hung step runs up to the 6-hour default.
  • checkout persists GITHUB_TOKEN into .git/config in read-only jobs that run third-party tooling.
  • code_quality/pr_quality run on pull_request and push: main, so every merge re-runs checks that already passed; commitlint's --last path overlaps the semantic-PR app.
  • No dependency cache → uv sync rebuilds from scratch each run.

Proposed improvement

Add concurrency (cancel-in-progress) + timeout-minutes + persist-credentials: false to the read-only workflows; scope code_quality/pr_quality to pull_request only; enable enable-cache: true on setup-uv. Leave wiki (push:main) and release (tag) as-is.
Caveat: dropping push: main is safe only if branch protection's "Require branches to be up to date before merging" is enabled.

Activity

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

Metadata

Metadata

Assignees

Labels

refactorInternal code cleanup and structural improvements

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions