wavetermdev / waveterm

An open-source, cross-platform terminal for seamless workflows
https://www.waveterm.dev
Apache License 2.0
3.9k stars 92 forks source link

Containerize this Project for Easier Contribution #740

Open sujal-goswami opened 1 month ago

sujal-goswami commented 1 month ago

Is your feature request related to a problem? Please describe. I'm always frustrated when trying to set up the development environment for this project. The process can be time-consuming and error-prone, particularly when dealing with different dependencies and system configurations.

Describe the solution you'd like I propose containerizing this project using Docker. By providing a pre-configured Docker container, developers can quickly and easily set up a consistent development environment. This would streamline the onboarding process for new contributors and ensure that everyone is working with the same setup, reducing the likelihood of environment-related issues.

esimkowitz commented 4 weeks ago

Good idea, our dependencies are pretty straightforward if you want to give it a go!

sujal-goswami commented 3 weeks ago

I have given it a try, but unfortunately, it resulted in some unusual errors. Could you please take a look at it?

image image image image

esimkowitz commented 3 weeks ago

Wavesrv depends on waveshell, so you can't copy just wavesrv when creating the wavesrv-builder stage. It looks like you copied both for the waveshell-builder instead of for the wavesrv-builder.

I would recommend running all the go builds as a monolithic backend-builder stage

sujal-goswami commented 2 weeks ago

Hey, during my local build, I discovered some issue in build-linux.md in there npm install -g yarn is installing other version of yarn but this project uses version"yarn@4.1.1" which causing problem. image

but even after resolving it during running client, it gives a strange error image

esimkowitz commented 2 weeks ago

Ah, it looks like our documentation in the build-linux document is out of date, we use Yarn Modern for our package manager, which requires some extra setup. Check out the info in the macOS instructions regarding Yarn: https://github.com/wavetermdev/waveterm/blob/main/BUILD.md#prereqs-and-tools

Specifically, you need to run the following:

corepack enable
yarn install