-
Notifications
You must be signed in to change notification settings - Fork 116
Open
Description
Problem
Right now the GitHub Actions pipeline runs all checks in a single job. This means every check runs sequentially in one stage and we lose clarity and flexibility. It also makes it harder to:
- Run fast checks in parallel
- Fail early on linting or analysis problems
- Reuse or cache steps like Go setup or module caching across related jobs
- Make the publish step depend clearly on successful tests only
Proposal
- Make container-based jobs to avoid "Install Go" step.
- Split the pipeline into these jobs:
- lint - run linters (golangci-lint)
- analyze - run static code analyzers (for example gocyclo, staticcheck)
- test - run unit tests and produce coverage
- publish - publish results (codecov, etc.)
Design notes:
- test should depend on lint and analyze.
- publish should run only after test succeeds.
Arguments
- Faster feedback: lint and analysis can run in parallel and fail early.
- Clearer pipeline: each job has a single responsibility and easier to read.
- Easier to maintain: adding or removing checks is simpler.
- Safer publishing: publishing steps run only after tests pass.
Metadata
Metadata
Assignees
Labels
No labels