Skip to content

Conversation

@cdata
Copy link
Contributor

@cdata cdata commented May 21, 2024

This change proposes a minimum viable implementation of the Build Server described in On-demand Isolated Components.

The implementation is written primarily in Rust, and currently supports building Modules of one language type: JavaScript. It depends on @bytecodealliance/jco (an NPM package) to be available in its environment.

Currently, the server persists built Modules to a temporary database that is deleted as the process stops and cleans up.

There has been an attempt to correctly document the REST API using an OpenAPI spec. When running the server, the API spec is available at http://localhost:8080/openapi.json. Additionally, Swagger UI (a GUI for exploring an OpenAPI spec) is available at http://localhost:8080/swagger-ui. Theoretically, this will allow us to automatically generate REST API clients for the build server in most languages.

Copy link
Collaborator

@jsantell jsantell left a comment

Choose a reason for hiding this comment

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

🔥

pub struct JavaScriptBaker {}

#[async_trait]
impl Bake for JavaScriptBaker {
Copy link
Collaborator

Choose a reason for hiding this comment

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

🧑‍🍳


WORKDIR /usuba

EXPOSE 8888
Copy link
Collaborator

Choose a reason for hiding this comment

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

8080 is used elsewhere

@cdata cdata merged commit 209e7a2 into rfc/on-demand-isolated-components May 23, 2024
@cdata cdata deleted the feat/on-demand-isolated-components/build-server branch May 23, 2024 17:29
@cubic-dev-ai cubic-dev-ai bot mentioned this pull request Oct 28, 2025
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.

3 participants