[Code scan] Make the build hook fail when Yarn commands fail

Aperta Adatta ai principianti
#558 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
78/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
node.js, python
Ambito
build-system

Direzione di ricerca

Inizia da hatch_build.py, in particolare da node_call e dal codice del build hook intorno alle righe indicate. Controlla come vengono gestiti i risultati di yarn install e yarn build, quindi verifica che i comandi non riusciti interrompano il packaging e che i contenuti obsoleti di dist non vengano riutilizzati; esamina il flusso di build esistente per confermare il comportamento.

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

Descrizione

This issue was found during a Codex global code scan of the repository.

Baseline commit: e3c5b38a99eb7ab778b5d8c68a5ed4ddf6cf91b3

Problem

The custom Hatch build hook invokes Yarn through subprocess.call(), but it never checks the return code.

Code references:
https://github.com/deepmodeling/dpgui/blob/e3c5b38a99eb7ab778b5d8c68a5ed4ddf6cf91b3/hatch_build.py#L13-L15
https://github.com/deepmodeling/dpgui/blob/e3c5b38a99eb7ab778b5d8c68a5ed4ddf6cf91b3/hatch_build.py#L30-L48

Relevant snippet:

def node_call(args, **kwargs):
    """Call node with subprocess."""
    return subprocess.call(["node", *args], **kwargs)

Impact

A failed yarn install or yarn build can continue until only dist existence is checked. If dist already exists from a previous build, packaging can copy stale frontend assets into dpgui/dist.

Suggested fix

Use subprocess.check_call() or explicitly raise on nonzero return codes. It would also be safer to clean the root dist before running the frontend build.

Lingua principale
Vue
Stelle
9
Fork
5
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

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 deepmodeling/dpgui

Tutte le issue di deepmodeling/dpgui

Issue simili

Altre issue su Build System

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.