adorsys / adorsys/status-list-server
Make local-ci.sh install tools and mirror GitHub CI commands
- Linguagem predominante
- Rust
- Estrelas
- 22
- Forks
- 5
- Merge médio
- 2d 6h
- PRs com merge (30d)
- 47
Descrição
## Objective
Make `local-ci.sh` faithfully replicate the GitHub CI quality gates and install missing local tools when needed.
## Current State
`local-ci.sh` currently runs fmt, build, clippy, nextest, and cargo-machete. The remote CI also runs or validates:
- zizmor
- memory-only build
- domain-layer purity grep
- cargo doc with `RUSTDOCFLAGS=-D warnings`
- doc tests
- cargo vet
- cargo deny/audit
- typos
- tombi
- markdownlint
- Helm rendering plus Trivy/KubeLinter scans
- yamlfmt
- OpenTelemetry collector config validation
- cargo llvm-cov
## Deliverables
- [ ] Inventory all commands from `.github/workflows/CI.yml`, `cargo_deny.yml`, and `crate_type.yml`.
- [ ] Add local tool bootstrap for missing CLIs where practical, without requiring root unless unavoidable.
- [ ] Provide fast/default and full/parity modes if the full remote CI is too heavy for every local run.
- [ ] Use the same flags and configs as CI.
- [ ] Document any checks that cannot be replicated locally and why.
## Acceptance Criteria
- [ ] `./local-ci.sh --full` runs the same command set as remote CI where local execution is practical.
- [ ] `./local-ci.sh` remains approachable for day-to-day use.
- [ ] Missing tools produce actionable install/bootstrap messages.
- [ ] The script exits non-zero on the same failures CI would catch.
## Verification
- [ ] Run default local CI mode.
- [ ] Run full local CI mode on a clean environment or documented dev image.
Guia de contribuição
Direção de pesquisa
Start by reading `local-ci.sh` and the listed CI config files (`.github/workflows/CI.yml`, `cargo_deny.yml`, `crate_type.yml`) to diff current behavior against remote checks. Extend `local-ci.sh` with missing commands and clear install/bootstrap handling for absent tools, while separating a default mode from `--full` parity mode and reusing CI flags/configs. Run `./local-ci.sh` and `./local-ci.sh --full` to verify outcomes and update documentation comments in-repo for any CI checks that cannot be run locally.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- github-actions, rust, shell
- Domínio
- ci-cd, tooling
- Tipo de issue
- Funcionalidade
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Ativa
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 52/100