apache / apache/paimon-cpp

[Bug] CI build script accepts flags as values for required options

Ouverte
#293 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
C++
Étoiles
65
Forks
25
Merge moyen
2 j 12 h
PR mergées (30 j)
80

Description

### Search before asking

- [x] I searched in the [issues](https://github.com/apache/paimon-cpp/issues) and found nothing similar.

### Paimon-cpp version

### Paimon version

Current `main` branch.

### Minimal reproduce step

Run one of the following commands:

```bash
ci/scripts/build_paimon.sh --source_dir --enable_asan

ci/scripts/build_paimon.sh \
--source_dir . \
--build_type --enable_asan

ci/scripts/build_paimon.sh \
--source_dir . \
--lint_git_target_commit --enable_asan
```

The script treats the following option as the value of the preceding option and continues until a later command fails or CMake is invoked with an invalid value.

The script also accepts unsupported build types:

```
ci/scripts/build_paimon.sh \
--source_dir . \
--build_type Profile
```

### What doesn't meet your expectations?

Options that require a value should reject an empty value or another `--option` with a clear error message.

The `--build_type` option should only accept the standard CMake build types used by the project:
- `Debug`
- `Release`
- `RelWithDebInfo`
- `MinSizeRel`
Invalid arguments should be rejected before creating build directories or invoking CMake.

The argument validation behavior is currently not covered by dedicated script-level tests.

### Anything else?

_No response_

### Are you willing to submit a PR?

- [x] I'm willing to submit a PR!

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par ci/scripts/build_paimon.sh et reproduisez les commandes indiquées afin de suivre la manière dont sont validées les valeurs d’options requises et --build_type. Ajoutez une couverture au niveau du script pour les valeurs manquantes ou ressemblant à des options, ainsi que pour les types de build non pris en charge ; le travail est considéré comme terminé lorsque les arguments invalides échouent avant l’appel aux répertoires de build ou à CMake, tandis que les quatre types de build CMake indiqués restent acceptés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cmake, shell
Domaine
build-system, cli
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Active
Clarté
Clairement spécifiée
Accessibilité débutants
74/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.