Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Better build orchestration

Offen
#483 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
25/100
Issue-Typ
Refactoring
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
ruby, wasm
Bereich
build-system

Rechercherichtung

Beginne mit dem Lesen von lib/ruby_wasm/build.rb und den Produktimplementierungen in lib/ruby_wasm/build/product/baseruby.rb und crossruby.rb. Verfolge den Einstiegspunkt rake npm:ruby-head-wasm-wasi:build sowie dessen PIC- und Nicht-PIC-Artefakte. Erledigt ist die Aufgabe, wenn der Build-Cache mehrere Artefakte und teilweise Treffer verarbeitet und Änderungen an Quellrevisionen und Rezepten berücksichtigt, ohne falsche Ergebnisse wiederherzustellen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

The underlying build system of rbwasm build is quite messy.

  1. Each build step has to have its ad-hoc up-to-date check like followings:
    https://github.com/ruby/ruby.wasm/blob/a5d06a01873130fda0f07f4401a3b018c6f1d753/lib/ruby_wasm/build/product/baseruby.rb#L26 https://github.com/ruby/ruby.wasm/blob/a5d06a01873130fda0f07f4401a3b018c6f1d753/lib/ruby_wasm/build/product/crossruby.rb#L171
  2. Uses of build product and cache key computation are placed far, so we often forget to update the cache key and get a wrong cache restored.
    https://github.com/ruby/ruby.wasm/blob/a5d06a01873130fda0f07f4401a3b018c6f1d753/lib/ruby_wasm/build.rb#L78
  3. The current cache mechanism cannot restore two or more artifacts produced within a single rake task job. This usually happens for PIC & non-PIC builds invoked by rake npm:ruby-head-wasm-wasi:build
  4. Our cache mechanism does not allow partial cache-hit, so even if we change only crossruby source revision, we have to rebuild openssl from scratch.
  5. Our cache mechanism is not sensitive to recipe changes. For instance, even if we change CFLAGS value, crossruby product will not be rebuilt.
Vorherrschende Sprache
Ruby
Sterne
875
Forks
68
Ø Merge
9 T. 5 Std.
Gemergte PRs (30 T.)
1

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus ruby/ruby.wasm

Alle Issues in ruby/ruby.wasm

Ähnliche Issues

Weitere Issues zu Ruby

Neue Issues direkt in Ihr Postfach

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