DvorakDwarf / Infinite-Storage-Glitch

ISG lets you use YouTube as cloud storage for ANY files, not just video
GNU General Public License v3.0
11.43k stars 910 forks source link

Add codespace config #47

Closed spenserblack closed 1 year ago

spenserblack commented 1 year ago

This adds configuration allowing a potential contributor to get set up in GitHub Codespaces, so that they can instantly consume their monthly CPU usage :tada: (Not a criticism of this project BTW. Any significant Rust project seems to have massive CPU usage when compiling.)

What this PR does

When initially building the container, the latest release of the Rust 1 image will be used (more details), and dependencies required to build and run isg will also be installed.

After the container is created, cargo build is run. This can potentially be removed, but triggering a build immediately can lead to an improved developer experience as the long process of updating the crates.io index and compiling starts in the background while the developer codes.

FYI I ran into https://github.com/DvorakDwarf/Infinite-Storage-Glitch/issues/32 in the codespace. Let me know if any changes to the dev environment can resolve this issue, and I'll add it to the devcontainer setup.

beyse commented 1 year ago

I like this PR. I was actually just going to create a PR to add a docker container myself, but @spenserblack happened to be a couple of minutes faster than me 😄

I found building the binary with the instructions given in the Readme file quite hard and I also saw a video on YouTube with a person struggling to get this built on the first attempt. This PR would solve this problem.

spenserblack commented 1 year ago

@beyse BTW you're still free to create a Dockerfile for usage. The Dockerfile here is just for creating a development container, and a docker image for regular usage (not development) might be a bit different (though there might be some overlap between the two Dockerfiles 🙂 )

beyse commented 1 year ago

You are right. I think I will create the PR and tag you so you can take a look at it if you want. I think most valuable (in my PR) for newcomers to the repo is the section I added in the readme file giving precise build and run instructions.

beyse commented 1 year ago

@spenserblack https://github.com/DvorakDwarf/Infinite-Storage-Glitch/pull/49