Skip to content

Bring wasm service up #487

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Sep 2, 2024
Merged

Conversation

ChinYikMing
Copy link
Collaborator

@ChinYikMing ChinYikMing commented Sep 1, 2024

After merging #474, multiple executables were moved to other location (build/riscv32), which caused the wasm service to fail. The intuitive solution is to embed build/riscv32 into the wasm. Also, executables that stored in rv32emu-prebuilt must be pulled before embedding into wasm, so emcc_deps should depend on the artifact target.

Additionally, the Makefile's distclean target does not fully clean wasm artifacts, as CC=emcc might not be set during make distclean. To fix this, the declaration of the WEB_FILES and DEMO_DIR wasm-related variables has been reordered.

As the number of ELF executables may increase over time, manually updating the HTML ELF list becomes tedious. Therefore, an ELF list generator has been introduced. When new ELF executables are added to the build or build/riscv32 directories, the list will be generated dynamically.

Close: #486

Copy link
Contributor

@jserv jserv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarify the git commit message: if this pull request is able to resolve #486, you should write Close #486 explicitly.

@ChinYikMing
Copy link
Collaborator Author

ChinYikMing commented Sep 1, 2024

Clarify the git commit message: if this pull request is able to resolve #486, you should write Close #486 explicitly.

I would close #486 if the ELF selection list generator is being merged. Alternatively, I could update the issue title to simplify tracking.

@ChinYikMing
Copy link
Collaborator Author

ChinYikMing commented Sep 1, 2024

I changed to title in #486. The ELF selection list generator is in progress and may take some time. To bring up the WASM service quickly, this PR could be merged first.

Copy link
Contributor

@jserv jserv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rebase the latest master branch for passing the architecture tests.

After merging sysprog21#474, multiple executables were moved to other location
(build/riscv32), which caused the wasm service to fail. The intuitive
solution is to embed build/riscv32 into the wasm. Also, executables that
stored in rv32emu-prebuilt must be pulled before embedding into wasm, so
emcc_deps should depend on the artifact target.

Additionally, the Makefile's distclean target does not fully clean wasm
artifacts, as CC=emcc might not be set during make distclean. To fix
this, the declaration of the WEB_FILES and DEMO_DIR wasm-related
variables has been reordered.

Related: sysprog21#486
As the number of ELF executables may increase over time, manually
updating the HTML ELF list becomes tedious. Therefore, an ELF list
generator has been introduced. When new ELF executables are added to
the build or build/riscv32 directories, the list will be generated
dynamically.

Close: sysprog21#486
@ChinYikMing ChinYikMing requested a review from jserv September 2, 2024 02:51
@jserv jserv added this to the release-2024.1 milestone Sep 2, 2024
@jserv jserv merged commit 12b15d7 into sysprog21:master Sep 2, 2024
8 checks passed
@jserv
Copy link
Contributor

jserv commented Sep 2, 2024

Thank @ChinYikMing for contributing!

@ChinYikMing ChinYikMing deleted the fix-wasm-service branch September 2, 2024 04:38
ChinYikMing added a commit to ChinYikMing/rv32emu that referenced this pull request Sep 2, 2024
After merging sysprog21#487, the elf_list.js file is generated dynamically, and
the wasm service requires this file to run. However, during CI deployment,
the file is not pushed to the rv32emu-demo repo, causing the GitHub Pages
to malfunction. To resolve this, pushing the file to the rv32emu-demo repo
is the solution.

The 'demo' directory is only created when the WASM service runs locally.
To address this, the elf_list.js file should be placed in the 'build'
directory instead, as the CI deployment does not invoke the Makefile's
start-web target, so the 'demo' directory will not be generated.
vestata pushed a commit to vestata/rv32emu that referenced this pull request Jan 24, 2025
vestata pushed a commit to vestata/rv32emu that referenced this pull request Jan 24, 2025
After merging sysprog21#487, the elf_list.js file is generated dynamically, and
the wasm service requires this file to run. However, during CI deployment,
the file is not pushed to the rv32emu-demo repo, causing the GitHub Pages
to malfunction. To resolve this, pushing the file to the rv32emu-demo repo
is the solution.

The 'demo' directory is only created when the WASM service runs locally.
To address this, the elf_list.js file should be placed in the 'build'
directory instead, as the CI deployment does not invoke the Makefile's
start-web target, so the 'demo' directory will not be generated.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Wasm service is down and a generator for the ELF executables selection list should be introduced
2 participants