Better build orchestration
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Refatoração
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- ruby, wasm
- Domínio
- build-system
Direção de pesquisa
Comece lendo lib/ruby_wasm/build.rb e as implementações de produto em lib/ruby_wasm/build/product/baseruby.rb e crossruby.rb. Rastreie o ponto de entrada rake npm:ruby-head-wasm-wasi:build e seus artefatos PIC e não-PIC. O trabalho estará concluído quando o cache de build lidar com vários artefatos e acertos parciais, além de alterações nas revisões do código-fonte e nas receitas, sem restaurar resultados incorretos.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
The underlying build system of rbwasm build is quite messy.
- 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 - 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 - 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 - 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.
- Our cache mechanism is not sensitive to recipe changes. For instance, even if we change CFLAGS value, crossruby product will not be rebuilt.
- Linguagem predominante
- Ruby
- Estrelas
- 875
- Forks
- 68
- Merge médio
- 9d 5h
- PRs com merge (30d)
- 1
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de ruby/ruby.wasm
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
-
Using gems with Node WASI Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
Todas as issues de ruby/ruby.wasm
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
palladius/rails8-app-on-gcp#145 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
rubocop/rubocop-rspec#2236 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
riscv/riscv-unified-db#2624 · 1 reação ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100