wrap-cli icon indicating copy to clipboard operation
wrap-cli copied to clipboard

I want to build wrappers quickly

Open dOrgJelli opened this issue 3 years ago • 0 comments

Motivation

Currently the polywrap build command requires docker, which has a few down-sides:

  • new developer startup cost is high, as base images need to be downloaded
  • slow if too much of the cache is invalidated
  • requires a "heavy" system-wide dependency (docker)
  • hard for developers to customize

This causes the build system to be slow and hard to iterate with. Some suggested solutions for this are:

  1. ensure docker builds are optimized, and too much of the cache are not invalidated often
  2. enable developers to build without docker
  3. make it easier for developers to customize the docker build steps

Sub-Tasks

Ensure docker builds are optimized

We should have a set of benchmarks that are run for each wrapper development language. These benchmarks should cover common invalidation scenarios:

  • [ ] https://github.com/polywrap/monorepo/issues/1115
  • [ ] https://github.com/polywrap/monorepo/issues/1116
  • [ ] https://github.com/polywrap/monorepo/issues/1117
  • [ ] https://github.com/polywrap/monorepo/issues/1118

Enable developers to build without docker

Developers should be able to build wrappers without needing docker. This can be done by having simple to follow dependency setup instructions, along with build step instructions that they can perform locally on their development machine.

  • [x] https://github.com/polywrap/monorepo/issues/1119

Make it easier for developers to customize the docker build steps

Developers should be able to easily customize the Dockerfile's build steps when needed. This can already be performed manually by copying the Dockerfile from the .polywrap/wasm/build/image/ directory, but it should be a bit easier for developers to do this. This can be achieved by exposing a new eject command:

  • [ ] https://github.com/polywrap/monorepo/issues/419

Explore and implement reproducible solutions with different Docker approaches

  • [x] https://github.com/polywrap/monorepo/issues/1246

dOrgJelli avatar Aug 09 '22 16:08 dOrgJelli