argumentcomputer / argumentcomputer/ci-workflows

lints workflow : feature or crate selection

Offen
#7 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Keine Sprachdaten
Sterne
0
Forks
3
Ø Merge
59 Min.
Gemergte PRs (30 T.)
2

Beschreibung

Documenting an issue encountered in https://github.com/lurk-lab/neptune/pull/255, which is arguably the fault of the crate organization:
- the gbench crate (which is non-publish!) runs with the default opencl feature, which does not compile on some CI machines:
https://github.com/lurk-lab/neptune/blob/main/gbench/Cargo.toml#L25
- the lint crate runs with `workspace` in the doc step of the job:
https://github.com/lurk-lab/neptune/actions/runs/7294189991/job/19878612122?pr=255
https://github.com/lurk-lab/ci-workflows/blob/96e567fa741858807c1de28bb4d8194291faecfb/.github/workflows/lints.yml#L49

Three ways to solve this:
- make the gbench feature non-default, just generate a runtime panic if neither of opencl nor cuda are active,
- allow excluding a crate from the doc test,
- allow excluding a feature (or running with default-deatures = false) from the doc test,

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Lies zunächst .github/workflows/lints.yml in ci-workflows, die Feature-Definition in gbench/Cargo.toml und den referenzierten PR #255. Vergleiche, wie der Doc-Schritt das Lint-Crate aufruft, und ermittle, welches Crate oder welches Verhalten bei der Feature-Auswahl unterstützt werden sollte. Als erledigt gilt die Aufgabe, wenn der Workflow die dokumentierten Fälle für Crate und Feature-Auswahl verarbeiten kann, ohne bei nicht unterstützten Default-Features fehlzuschlagen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
github-actions, rust
Bereich
build-system, ci-cd
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.