Skip to content
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

First-Class Windows Development Environment #1210

Open
jdegoes opened this issue Dec 24, 2024 · 12 comments
Open

First-Class Windows Development Environment #1210

jdegoes opened this issue Dec 24, 2024 · 12 comments

Comments

@jdegoes
Copy link
Contributor

jdegoes commented Dec 24, 2024

In the Golem project currently, Windows is not a first-class development experience. The problems are many and range from:

  1. How Golem is built and tested
  2. Which Rust libraries are used, and to what degree they support Windows
  3. Random scripts and tools that may not support Windows fully or at all

This ticket is to enhance Golem and its dependencies so that developers who are using Windows may have a first-class development experience, without having to install Windows Subsystem for Linux (WSL).

When completed, a clean checkout of the Golem code base will:

  1. Fully build with clear and simple instructions for Windows developers
  2. Reliably pass all tests locally without requiring docker or WSL
  3. Require no more setup for development than on Linux or Mac
  4. All Golem binaries (including single executable) run without issue on Windows

Moreover, Github-based CI must be modified to automatically run tests on Windows to ensure no future regressions, so that Windows developers have an ongoing guarantee of support for development.

NOTE: It is expected that as part of this work, you will have to submit to other repositories that are neither owned nor managed by Golem. These could include, for example, wasmtime, sozu-proxy & poule, etc. The actual changes required in the Golem repository should be relatively minimal.

@jdegoes
Copy link
Contributor Author

jdegoes commented Dec 24, 2024

/bounty $5000

Copy link

algora-pbc bot commented Dec 24, 2024

💎 $5,000 bounty • Golem Cloud

Steps to solve:

  1. Start working: Comment /attempt #1210 with your implementation plan
  2. Submit work: Create a pull request including /claim #1210 in the PR body to claim the bounty
  3. Receive payment: 100% of the bounty is received 2-5 days post-reward. Make sure you are eligible for payouts

Thank you for contributing to golemcloud/golem!

Add a bountyShare on socials

Attempt Started (GMT+0) Solution
🟢 @uurl Dec 25, 2024, 12:00:47 AM WIP
🟢 @varshith257 Dec 25, 2024, 1:03:54 AM WIP
🟢 @zelosleone Dec 28, 2024, 4:34:31 PM #1214

@uurl
Copy link

uurl commented Dec 25, 2024

/attempt #1210

@varshith257
Copy link

varshith257 commented Dec 25, 2024

/attempt #1210

Algora profile Completed bounties Tech Active attempts Options
@varshith257 25 bounties from 11 projects
Scala, Rust,
TypeScript & more
Cancel attempt

@varshith257
Copy link

Following up with sozu maintainers closely to fix it in upstream

@zelosleone
Copy link

Truth to be told the major problem is wasmtime package versioning making it hard to build-test, linking version is extremely hard to pass unless default features of wasmtime is completely disabled, which could make it unable to connect on HTTP via python. But there are also at least 4 years old crates like poule that is not updated recently, I am pretty sure some golem repo code could be changed to fit the newer/more maintained crates.

@varshith257
Copy link

varshith257 commented Dec 28, 2024

@zelosleone The issue of conflicting wasm appearing in both Windows and Linux after the merge of #1200. Before it worked fine without any conflicts of wasm versions. The problem stems from wasm-wave likely pulling older version of wasm as its dependency

@zelosleone
Copy link

zelosleone commented Dec 28, 2024

@zelosleone The issue of conflicting wasm appearing in both Windows and Linux after the merge of #1200. Before it worked fine without any conflicts of wasm versions. The problem stems from wasm-wave likely pulling older version of wasm as its dependency

Nope, its the wit-parser that pulls the old versioning, which breaks the wit module of the golem if upgraded. 0.6.0 is p old for wit-parser crate since it went more than 5 updates from that time, so golem code needs to change and be tested that "Yeah, this proves upgrading it didnt break anything after we updated the code and it works like old"

@zelosleone
Copy link

zelosleone commented Dec 28, 2024

/attempt #1210

@varshith257
Copy link

varshith257 commented Dec 28, 2024

@zelosleone The wit parser conflict, I think not under consideration of this issue. It happening with other os linux too not sure what about Mac though.

I have clearly discussed with jdegoes and vigoo for the compatibility of windows and the alternatives and following them to solve keeping in mind of future work of Golem

@zelosleone
Copy link

zelosleone commented Dec 28, 2024

@zelosleone The wit parser conflict, I think not under consideration of this issue. It happening with other os linux too not sure what about Mac though.

I have clearly discussed with jdegoes and vigoo for the compatibility of windows and the alternatives and following them to solve keeping in mind of future work of Golem

Yeah I was working for 10 days on windows with golem and discussed the errors i encountered and frustration as well on discord with jdgoes. so i had a headstart, thats fine, I almost finished the PR.

Copy link

algora-pbc bot commented Dec 28, 2024

💡 @zelosleone submitted a pull request that claims the bounty. You can visit your bounty board to reward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants