Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

humility flash could have an idempotent mode

Aperta
#410 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
rust
Ambito
cli

Direzione di ricerca

Inizia dal comando humility flash e confronta i percorsi esistenti --check e --verify. Implementa il comportamento idempotente richiesto, in modo che un flash già corretto abbia successo senza programmazione, mantenendo al contempo i controlli sul contenuto esistenti; il lavoro è completato quando il flusso documentato humility flash --idempotent segnala il successo in quel caso e un fallimento in presenza di problemi.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

As noted in #408, during manufacturing we are doing something suboptimal:

if ! humility flash --check; then
        printf 'contents incorrect; programming...\n'
        if ! humility flash --verify; then
                printf 'programming failed!\n'
                exit 1
        fi
fi
printf 'ok\n'

In the event that the flash contents are already correct, flash --check will return success and we drive on.

In the event that the flash contents are not already correct, the check fails and we move on to flash --verify which then performs the same check again before eventually programming.

The reason we use this sequenced is that (as far as I can tell) flash --verify, like flash, will fail execution if the flash contents is already correct and we didn't have to do any work. This strict execution makes sense under some conditions; I can definitely imagine cases where I believed I was replacing the flash contents with something new, but it turns out I was mistaken. For manufacturing, though, what we really want is:

if ! humility flash --idempotent; then
        printf 'problems!\n'
        exit 1
fi

This would still include all of the checks that --check and --verify already perform today (i.e., the flash contents, not just the image ID, are verified) but it would exit successfully after the initial check if the contents are already as they should be.

If we don't want to use --idempotent, then perhaps a verb like --ensure would also capture the intent.

Lingua principale
Rust
Stelle
587
Fork
64
Merge medio
2g 1h
PR unite (30g)
7

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di oxidecomputer/humility

Tutte le issue di oxidecomputer/humility

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.