ci: migrate@latest is unpinned in nine CI steps, and the coverage gate excludes the storage layer

Open
#1,618 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
Half a day
Newbie friendliness
38/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Active
Tech stack
github-actions, go, shell
Domain
ci-cd, testing-qa

Research direction

Start with the migrate@latest install lines in .github/workflows/ci.yaml, e2e-gates.yaml and secrets-e2e.yaml, and the pinned version at Makefile:61. Replace the unpinned installs with one version read from the Makefile or a shared env. Then look at scripts/coverage-gate.sh:23 and the ; in the comment of migrations/034_*.up.sql:3. Done means every workflow uses the same pinned version and the gate and comment changes are in, but the coverage threshold needs a maintainer decision first.

Written by the indexing model from the issue text.

Description

area/ci bug ci priority/p2

Open since the 2026-10-05 performance audit (M-27), confirmed unchanged in the 2026-10-09 re-audit.

Problem

  • go install .../migrate@latest runs at .github/workflows/ci.yaml:230, 271, 551, 743, 825, 904, 1033, e2e-gates.yaml:238 and secrets-e2e.yaml:86, while Makefile:61 pins a version. A new upstream release can change migration behavior in CI without any change in the repo.
  • scripts/coverage-gate.sh:23 excludes repository.go, postgres.go, scheduler_store.go, agent_store.go and queries/, which is where most of the decision logic the audits found bugs in lives.
  • migrations/034_*.up.sql:3 has a ; inside a comment, which some statement splitters treat as a statement end.

Proposal

  1. One pinned version, read from the Makefile (or a shared env) in every workflow.
  2. Count the storage files in the coverage gate, measured with the integration suite, and set the threshold from the current number so the gate does not start red.
  3. Remove the ; from the comment.

This changes CI, so the PR waits for the maintainer's ok before merging.

Dominant language
Go
Stars
46
Forks
1
Avg merge
10h 42m
Merged PRs (30d)
607

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dexadata/dexaflow

All issues in dexadata/dexaflow

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.